Module: FEELIN
- Defined in:
- lib/feelin.rb,
lib/feelin/version.rb
Constant Summary collapse
- VERSION =
"4.3.1"- @@functions =
Set.new
Class Method Summary collapse
- .add_function(name, proc) ⇒ Object
- .evaluate(expression, context = nil) ⇒ Object
- .unary_test(expression, value, context = {}) ⇒ Object
Class Method Details
.add_function(name, proc) ⇒ Object
18 19 20 21 |
# File 'lib/feelin.rb', line 18 def self.add_function(name, proc) @@functions.add(name) @@context.attach(name, proc) end |
.evaluate(expression, context = nil) ⇒ Object
6 7 8 9 10 |
# File 'lib/feelin.rb', line 6 def self.evaluate(expression, context = nil) context_json = serialize_context(context) @@context.eval("feel.evaluate(#{JSON.generate(expression)}, #{context_json})") end |
.unary_test(expression, value, context = {}) ⇒ Object
12 13 14 15 16 |
# File 'lib/feelin.rb', line 12 def self.unary_test(expression, value, context = {}) context_json = serialize_context({ **context, '?' => value }) @@context.eval("feel.unaryTest(#{JSON.generate(expression)}, #{context_json})") end |