Implement tasks condition feature

This commit is contained in:
Thibault Jouan
2013-07-28 22:47:32 +00:00
parent 16134bf827
commit d146566411
3 changed files with 70 additions and 6 deletions

View File

@@ -9,7 +9,21 @@ module Producer
end
def evaluate
instance_eval &@block
DSL.new &@block
end
class DSL
ConditionNotMetError = Class.new(RuntimeError)
def initialize(&block)
instance_eval &block
rescue ConditionNotMetError
end
def condition(&block)
raise ConditionNotMetError unless block.call
end
end
end
end