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



506
507
508
509
510
511
512
# File 'lib/feel/nodes.rb', line 506

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

#quantified_every(context) ⇒ Object



519
520
521
522
# File 'lib/feel/nodes.rb', line 519

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

#quantified_some(context) ⇒ Object



514
515
516
517
# File 'lib/feel/nodes.rb', line 514

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