Dynamic Expressions gem
Ruby
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib
test
.gitignore
.rvmrc
CHANGELOG
Gemfile
README
Rakefile
de.gemspec

README

De (Dynamic Expression) module provides means to build and evaluate
dynamic expression of arbitrary complecity and operands/operators nature.

Expression is considered as tree consisted of operands and operators.
Operater must have child nodes. Operand is terminal node.

Tree example:
   (a + b) * c + d

   - +
   --- *
   ----- +
   ------- a
   ------- b
   ----- c
   --- d

   Here "+" and "*" are operators,
   "a", "b", "c" and "d" are operands

Expression tree structure is built with the help of <rubytree> gem
(https://rubygems.org/gems/rubytree)

In addition to basic classes of Expression, Operand and Operator
module provides some extensions for different nature expressions:
  - Boolean expressions
  - Sunspot Solr search expressions