OSDN Git Service

refactoring manifest
[pettanr/pettanr.git] / lib / manifest / controller / action / base.rb
index bec77dd..0f80ff4 100644 (file)
@@ -1,36 +1,20 @@
 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