OSDN Git Service

fix Manifest
[pettanr/pettanr.git] / lib / manifest / controller.rb
1 require_dependency "manifest/controller/action"
2 module Manifest
3   class Controller
4     include ControllerModule
5     def self.manager manifest, my_manifests
6       my_manifests.map {|controller_name, controller_manifest|
7         self.new(manifest, controller_name, controller_manifest)
8       }
9     end
10     
11     class Recipe
12     end
13     
14     attr :manifest, :controller_name, :controller_manifest, :item_name, :actions
15     def initialize manifest, controller_name, controller_manifest
16       @manifest = manifest
17       @controller_name = controller_name
18       @controller_manifest = controller_manifest
19       self.set_default
20       self.init
21     end
22     
23     def set_default
24       @controller_manifest['item_name'] ||= @controller_name
25       @controller_manifest['actions'] ||= {}
26     end
27     
28     def init
29       @item_name = @controller_manifest['item_name']
30       @actions = {}
31       @controller_manifest['actions'].each {|action_name, action_manifest|
32         @actions[action_name] = ActionFactory.factory self, action_name, action_manifest
33       }
34     end
35     
36   end
37 end