Refactor Recipe

This commit is contained in:
Thibault Jouan 2014-09-25 00:18:51 +00:00
parent da26619026
commit 8ce8c2f054

View File

@ -6,8 +6,8 @@ module Producer
define_method(name) { |*args| task name, *args, &block } define_method(name) { |*args| task name, *args, &block }
end end
def compose_macro(name, meth, *base_args) def compose_macro(name, macro, *base_args)
define_method(name) { |*args| send meth, *(base_args + args) } define_method(name) { |*args| send macro, *(base_args + args) }
end end
end end
@ -31,15 +31,11 @@ module Producer
end end
def macro(name, &block) def macro(name, &block)
define_singleton_method name do |*args| self.class.class_eval { define_macro name, block }
task "#{name}", *args, &block
end
end end
def compose_macro(name, meth, *base_args) def compose_macro(name, macro, *base_args)
define_singleton_method name do |*args| self.class.class_eval { compose_macro name, macro, *base_args}
send meth, *(base_args + args)
end
end end
def test_macro(name, &block) def test_macro(name, &block)