OSDN Git Service

rename model name
[pettanr/pettanr.git] / lib / manifest / manifest.rb
index 1108921..1fc9df7 100644 (file)
@@ -2,7 +2,8 @@ module Manifest
   class Manifest
     cattr_accessor :manifest
     attr :system_resources, :magic_numbers,
-      :items, :controllers, :models, :module_names
+      :items, :controllers, :models, :module_names, 
+      :inflectors, :singulars, :plurals
     # call me before load routes.rb
     # routes.rb needs engine_resources manifest in system_resources
     # ex. it's adding license_groups routes
@@ -16,6 +17,13 @@ module Manifest
     def init
       # managers can't initialize before load  application.rb
       return unless defined? ::Pettanr
+      @inflectors = @global_json['inflectors']
+      @item_names = {}
+      @table_names = {}
+      @inflectors.each do |item_name, table_name|
+        @item_names[item_name] = table_name  # monkey copy
+        @table_names[table_name] = item_name
+      end
       @items = ManifestBase.load_type_name_args(self, @global_json, 'items', ItemFactory)
       @controllers = Controller.load(self, @global_json, 'controllers')
       @models = Model.load(self, @global_json, 'models')
@@ -33,6 +41,16 @@ module Manifest
       end
     end
     
+    # table_name to item_name
+    def singularize table_name
+      @table_names[table_name]
+    end
+    
+    # item_name to table_name
+    def pluralize item_name
+      @item_names[item_name]
+    end
+    
   end
   
   module ModuleMethods
@@ -48,14 +66,6 @@ module Manifest
       item_name.classify.constantize
     end
     
-    def singularize name
-      name.singularize
-    end
-    
-    def pluralize name
-      name.pluralize
-    end
-    
   end
 
   extend ModuleMethods