class Swarm::ExpressionEvaluator
Attributes
expression[R]
Public Class Methods
new(expression)
click to toggle source
# File lib/swarm/evaluation/expression_evaluator.rb, line 10 def initialize(expression) @expression = expression end
Public Instance Methods
all_conditions_met?()
click to toggle source
# File lib/swarm/evaluation/expression_evaluator.rb, line 22 def all_conditions_met? conditions.all? { |type, exp| check_condition(type, exp) } end
check_condition(type, exp)
click to toggle source
# File lib/swarm/evaluation/expression_evaluator.rb, line 28 def check_condition(type, exp) unless ["if", "unless"].include?(type) raise ArgumentError.new("Not a conditional") end result = eval(exp) type == "if" ? result : !result end
conditions()
click to toggle source
# File lib/swarm/evaluation/expression_evaluator.rb, line 36 def conditions Swarm::Support.slice(arguments, "if", "unless") end
eval(string)
click to toggle source
# File lib/swarm/evaluation/expression_evaluator.rb, line 18 def eval(string) workitem_context.instance_eval(string) end
workitem_context()
click to toggle source
# File lib/swarm/evaluation/expression_evaluator.rb, line 14 def workitem_context @workitem_context ||= WorkitemContext.new(workitem) end