class ActionConductor::ActionRunner

Attributes

conductors[RW]
controller[RW]

Public Class Methods

new(options={}) click to toggle source
# File lib/action_conductor/action_runner.rb, line 4
def initialize(options={})
  @controller = options.fetch(:controller)
  @conductors = options.fetch(:conductors)
end

Public Instance Methods

export(*options) click to toggle source
# File lib/action_conductor/action_runner.rb, line 9
def export(*options)
  @exported ||= {}
  @exported[options] ||= begin
    exported = export_with_options(options)
    exported.length == 1 ? exported.first : exported
  end
end

Private Instance Methods

export_with_options(options) click to toggle source
# File lib/action_conductor/action_runner.rb, line 21
def export_with_options(options)
  initialized_conductors.flat_map { |c| c.export(*options) }
end
initialized_conductors() click to toggle source
# File lib/action_conductor/action_runner.rb, line 25
def initialized_conductors
  @initialized_conductors ||= Collection.new(conductors.map { |c| c.new(controller) })
end