Class: CompositeAction

Inherits:
WebAction show all
Defined in:
lib/ribit/action.rb

Direct Known Subclasses

CategoryFormAction, FormAction

Instance Attribute Summary

Attributes inherited from WebAction

#id

Instance Method Summary collapse

Methods inherited from WebAction

#add_headers

Constructor Details

#initialize(id) ⇒ CompositeAction

Returns a new instance of CompositeAction.



90
91
92
93
# File 'lib/ribit/action.rb', line 90

def initialize( id )
  @id = id
  @actions = Hash.new
end

Instance Method Details

#add_action(webAction) ⇒ Object



96
97
98
# File 'lib/ribit/action.rb', line 96

def add_action( webAction )
  @actions[webAction.id] = webAction
end

#get_child_action_id(pageRequest) ⇒ Object



109
110
111
# File 'lib/ribit/action.rb', line 109

def get_child_action_id( pageRequest )
  raise 'should be implemented in child classes'
end

#run(pageRequest, pageResponse) ⇒ Object



101
102
103
104
105
106
# File 'lib/ribit/action.rb', line 101

def run( pageRequest, pageResponse )
  super( pageRequest, pageResponse )
  
  actionID = get_child_action_id( pageRequest )
  @actions[actionID].run( pageRequest, pageResponse )
end