Implement Action post-initialize hook
This commit is contained in:
parent
e7a46cecd1
commit
336b43aaa7
@ -13,6 +13,7 @@ module Producer
|
||||
@env = env
|
||||
@arguments = args
|
||||
@options = options
|
||||
setup if respond_to? :setup
|
||||
end
|
||||
|
||||
def name
|
||||
|
@ -2,11 +2,22 @@ require 'spec_helper'
|
||||
|
||||
module Producer::Core
|
||||
describe Action do
|
||||
let(:env) { double 'env'}
|
||||
subject(:action) { described_class.new(env) }
|
||||
|
||||
it_behaves_like 'action'
|
||||
|
||||
describe '#name' do
|
||||
subject(:action) { described_class.new(double 'env') }
|
||||
describe '#initialize' do
|
||||
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
|
||||
expect(action.name).to eq 'action'
|
||||
end
|
||||
|
Loading…
x
Reference in New Issue
Block a user