module Manifest
module ControllerModule
module ActionModule
- class Base
- attr :controller, :action_name, :action_manifest, :type,
- :item_name
- def initialize controller, action_name, action_manifest
- @controller = controller
- @action_name = action_name
- @action_manifest = action_manifest
- self.set_default
- self.init
- end
+ class Base < ManifestBase::TypeNameArgs
+ attr :item_name
def set_default
- @action_manifest['args'] ||= {}
- @action_manifest['args']['item_name'] ||= self.controller.item_name
+ super
+ @args ||= {}
+ @args['item_name'] ||= self.parent.item_name # not parent.name. follow singularized name
end
def init
- @type = @action_manifest['type']
- @args = @action_manifest['args']
+ super
@item_name = @args['item_name']
end
- def controller_name
- @controller.controller_name
- end
-
- def controller_manifest
- @controller.controller_manifest
- end
-
end
end