diff --git a/lib/producer/core/env.rb b/lib/producer/core/env.rb index e5602ca..035582b 100644 --- a/lib/producer/core/env.rb +++ b/lib/producer/core/env.rb @@ -1,6 +1,9 @@ module Producer module Core class Env + extend Forwardable + def_delegators :@registry, :[]= + attr_reader :input, :output, :error_output, :registry, :logger attr_accessor :target, :verbose, :debug, :dry_run @@ -24,10 +27,6 @@ module Producer end alias get [] - def []=(key, value) - @registry[key] = value - end - def logger @logger ||= begin logger = Logger.new(output) diff --git a/lib/producer/core/recipe.rb b/lib/producer/core/recipe.rb index ebb1599..194cf4f 100644 --- a/lib/producer/core/recipe.rb +++ b/lib/producer/core/recipe.rb @@ -19,6 +19,9 @@ module Producer end end + extend Forwardable + def_delegator :@env, :[]=, :set + def_delegator :@env, :[], :get attr_reader :env, :tasks def initialize(env) @@ -49,14 +52,6 @@ module Producer def test_macro(name, &block) Condition.define_test(name, block) end - - def set(key, value) - env[key] = value - end - - def get(key) - env[key] - end end end end diff --git a/lib/producer/core/task.rb b/lib/producer/core/task.rb index 7ea6de9..3c31c65 100644 --- a/lib/producer/core/task.rb +++ b/lib/producer/core/task.rb @@ -14,7 +14,9 @@ module Producer end extend Forwardable - def_delegators :@env, :target + def_delegators :@name, :to_s + def_delegators :@env, :target + def_delegator :@env, :[], :get define_action :echo, Actions::Echo define_action :sh, Actions::ShellCommand @@ -34,10 +36,6 @@ module Producer @condition = condition end - def to_s - @name.to_s - end - def condition_met? !!@condition end @@ -55,10 +53,6 @@ module Producer prompter.prompt(question, choices) end - def get(key) - @env[key] - end - def template(path, variables = {}) Template.new(path).render variables end diff --git a/lib/producer/core/tests/condition_test.rb b/lib/producer/core/tests/condition_test.rb index d12d79d..94dd091 100644 --- a/lib/producer/core/tests/condition_test.rb +++ b/lib/producer/core/tests/condition_test.rb @@ -2,9 +2,9 @@ module Producer module Core module Tests class ConditionTest < Test - def verify - condition.met? - end + extend Forwardable + def_delegator :@arguments, :first, :condition_block + def_delegator :condition, :met?, :verify def condition Condition.evaluate(env, *condition_args, &condition_block) @@ -13,10 +13,6 @@ module Producer def condition_args arguments.drop 1 end - - def condition_block - arguments.first - end end end end diff --git a/lib/producer/core/tests/shell_command_status.rb b/lib/producer/core/tests/shell_command_status.rb index 9bac3c4..f6fb221 100644 --- a/lib/producer/core/tests/shell_command_status.rb +++ b/lib/producer/core/tests/shell_command_status.rb @@ -2,16 +2,15 @@ module Producer module Core module Tests class ShellCommandStatus < Test + extend Forwardable + def_delegator :@arguments, :first, :command + def verify remote.execute(command) true rescue RemoteCommandExecutionError false end - - def command - arguments.first - end end end end