Implement Action post-initialize hook

This commit is contained in:
Thibault Jouan 2014-10-09 00:20:52 +00:00
parent e7a46cecd1
commit 336b43aaa7
2 changed files with 14 additions and 2 deletions

View File

@ -13,6 +13,7 @@ module Producer
@env = env @env = env
@arguments = args @arguments = args
@options = options @options = options
setup if respond_to? :setup
end end
def name def name

View File

@ -2,11 +2,22 @@ require 'spec_helper'
module Producer::Core module Producer::Core
describe Action do describe Action do
let(:env) { double 'env'}
subject(:action) { described_class.new(env) }
it_behaves_like 'action' it_behaves_like 'action'
describe '#name' do describe '#initialize' do
subject(:action) { described_class.new(double 'env') } it 'calls #setup when defined' do
action_class = Class.new(described_class)
action_class.class_eval do
define_method(:setup) { @arguments = :other_arguments }
end
expect(action_class.new(env).arguments).to eq :other_arguments
end
end
describe '#name' do
it 'infers action name from class name' do it 'infers action name from class name' do
expect(action.name).to eq 'action' expect(action.name).to eq 'action'
end end