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

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