Class: FEEL::QuantifiedExpression

Inherits:
Node
  • Object
show all
Defined in:
lib/feel/nodes.rb

Overview

  1. quantified expression = (“some” | “every”) , name , “in” , expression , { name , “in” , expression } , “satisfies” , expression ;

Instance Method Summary collapse

Methods inherited from Node

#qualified_names_in_context, #raise_evaluation_error

Instance Method Details

#eval(context = {}) ⇒ Object



479
480
481
482
483
484
485
# File 'lib/feel/nodes.rb', line 479

def eval(context = {})
  if quantifier.text_value == "some"
    quantified_some(context)
  else
    quantified_every(context)
  end
end

#quantified_every(context) ⇒ Object



492
493
494
495
# File 'lib/feel/nodes.rb', line 492

def quantified_every(context)
  quantified_expression = quantified_expression(context)
  quantified_expression.all? { |input| satisfies(input, context) }
end

#quantified_some(context) ⇒ Object



487
488
489
490
# File 'lib/feel/nodes.rb', line 487

def quantified_some(context)
  quantified_expression = quantified_expression(context)
  quantified_expression.any? { |input| satisfies(input, context) }
end