module ActiveCrew::Chainable
Public Instance Methods
chain()
click to toggle source
# File lib/active_crew/concerns/chainable.rb, line 3 def chain @chain ||= @context[:chain] || [] end
commands(*args)
click to toggle source
# File lib/active_crew/concerns/chainable.rb, line 7 def commands(*args) options = args.extract_options! add_to_chain args execute_chain options end
execute()
click to toggle source
Calls superclass method
# File lib/active_crew/concerns/chainable.rb, line 13 def execute super execute_chain end
Private Instance Methods
add_to_chain(commands)
click to toggle source
# File lib/active_crew/concerns/chainable.rb, line 20 def add_to_chain(commands) chain.concat commands end
execute_chain(options = nil)
click to toggle source
# File lib/active_crew/concerns/chainable.rb, line 24 def execute_chain(options = nil) return unless chain.present? name = chain.shift if name.is_a? Array name.each { |name| command name, options } else command name, options, chain: chain end end