From 8ce8c2f0549effc458735f354eaef061f4b4824c Mon Sep 17 00:00:00 2001 From: Thibault Jouan Date: Thu, 25 Sep 2014 00:18:51 +0000 Subject: [PATCH] Refactor Recipe --- lib/producer/core/recipe.rb | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/lib/producer/core/recipe.rb b/lib/producer/core/recipe.rb index 873ed87..e61a95b 100644 --- a/lib/producer/core/recipe.rb +++ b/lib/producer/core/recipe.rb @@ -6,8 +6,8 @@ module Producer define_method(name) { |*args| task name, *args, &block } end - def compose_macro(name, meth, *base_args) - define_method(name) { |*args| send meth, *(base_args + args) } + def compose_macro(name, macro, *base_args) + define_method(name) { |*args| send macro, *(base_args + args) } end end @@ -31,15 +31,11 @@ module Producer end def macro(name, &block) - define_singleton_method name do |*args| - task "#{name}", *args, &block - end + self.class.class_eval { define_macro name, block } end - def compose_macro(name, meth, *base_args) - define_singleton_method name do |*args| - send meth, *(base_args + args) - end + def compose_macro(name, macro, *base_args) + self.class.class_eval { compose_macro name, macro, *base_args} end def test_macro(name, &block)