2013-12-20 11:24:30 +00:00

29 lines
574 B
Ruby

module Producer
module Core
class Condition
class << self
def evaluate(env, &block)
dsl = DSL.new(env, &block)
return_value = dsl.evaluate
Condition.new(dsl.tests, return_value)
end
end
def initialize(tests, return_value = nil)
@tests = tests
@return_value = return_value
end
def met?
return !!@return_value if @tests.empty?
@tests.each { |t| return false unless t.pass? }
true
end
def !
!met?
end
end
end
end