class Forerunner::Builder
Attributes
actions[RW]
controller[R]
Public Class Methods
new(controller)
click to toggle source
# File lib/forerunner/builder.rb, line 8 def initialize(controller) @controller = controller @actions = [] end
Public Instance Methods
enqueue_action(action_type, action_params, block)
click to toggle source
# File lib/forerunner/builder.rb, line 13 def enqueue_action(action_type, action_params, block) actions << parse_action_data(action_type, action_params, block) end
process_actions(target_action)
click to toggle source
# File lib/forerunner/builder.rb, line 17 def process_actions(target_action) actions.each do |action_data| insert_new_filter(target_action, action_data) end actions.clear end
Private Instance Methods
insert_new_filter(target_action, action_data)
click to toggle source
# File lib/forerunner/builder.rb, line 27 def insert_new_filter(target_action, action_data) action_data.limit_to_action(target_action) _insert_callbacks(action_data.params, action_data.block) do |name, options| set_callback(:process_action, action_data.action_type, name, options) end end
parse_action_data(action_type, action_params, block)
click to toggle source
# File lib/forerunner/builder.rb, line 35 def parse_action_data(action_type, action_params, block) ActionData.new( action_type: action_type, action_data: action_params, block: block ) end