OSDN Git Service

fix profiler extend system
[pettanr/pettanr.git] / lib / local_manifest / profiler.rb
index 301d7c5..c46b497 100644 (file)
@@ -1,23 +1,34 @@
 ManifestBase.require_modules "local_manifest/profiler/", 
-  %w|list association|
+  %w|column extend_setting list association|
 
 module LocalManifest
   class Profiler < ManifestBase::Base
     include ProfilerModule
     
-    attr :column_names, :lists, :associations
+    attr :columns, :column_names, :extend_settings, :lists, :associations
     
     def set_default
       super
+      @json['columns'] ||= {}
       @json['column_names'] ||= []
+      @json['extend_settings'] ||= {}
       @json['lists'] ||= {}
       @json['associations'] ||= {}
+      # supply column configures
+      @json['column_names'] = ['id'] + @json['column_names'] + ['created_at', 'updated_at']
+      @json['columns']['created_at'] = {'type' => 'date'}
+      @json['columns']['updated_at'] = {'type' => 'date'}
+      @json['column_names'].each do |column_name|
+        @json['columns'][column_name] = {} unless @json['columns'][column_name]
+      end
     end
     
     def init
       super
-      @column_names = ['id'] + @json['column_names'] + ['created_at', 'updated_at']
-      @lists =  ManifestBase.load_type_name_args self, @json, 'lists', List
+      @columns =  ManifestBase.load_type_name_args self, @json, 'columns', ColumnFactory
+      @column_names = @json['column_names']
+      @extend_settings = ManifestBase.load_name_values self, @json, 'extend_settings', ExtendSetting
+      @lists = ManifestBase.load_name_values self, @json, 'lists', List
       @associations = ManifestBase.load_value self, @json, 'associations', Association
     end