1 require "manifest/controller/list"
2 require "manifest/controller/show"
5 include ControllerModule
6 def self.manager manifest, my_manifests
7 my_manifests.map {|controller_name, controller_manifest|
8 self.new(manifest, controller_name, controller_manifest)
15 attr :manifest, :controller_name, :controller_manifest, :item_name, :actions
16 @@types = {'list' => ActionList, 'show' => ActionShow}
17 def initialize manifest, controller_name, controller_manifest
19 @controller_name = controller_name
20 @controller_manifest = controller_manifest
26 @controller_manifest['item_name'] ||= @controller_name
27 @controller_manifest['actions'] ||= {}
31 @item_name = @controller_manifest['item_name']
33 @controller_manifest['actions'].each {|action_name, action_manifest|
34 raise "undefined class for controllers > #{@controller_name} > actions > #{action_name} > type > #{action_manifest['type']}\n" unless @@types[action_manifest['type']]
35 @actions[action_name] = @@types[action_manifest['type']].new(self, action_name, action_manifest)