OSDN Git Service

fix:error dlg
[pettanr/pettanr.git] / lib / local_manifest / profiler.rb
1 ManifestBase.require_modules "local_manifest/profiler/", 
2   %w|column extend_setting list association|
3
4 module LocalManifest
5   class Profiler < ManifestBase::Base
6     include ProfilerModule
7     
8     attr :columns, :column_names, :extend_settings, :lists, :associations
9     
10     def set_default
11       super
12       @json['columns'] ||= {}
13       @json['column_names'] ||= []
14       @json['extend_settings'] ||= {}
15       @json['lists'] ||= {}
16       @json['associations'] ||= {}
17       # supply column configures
18       @json['column_names'].unshift 'id' unless @json['column_names'].include?('id')
19       @json['column_names'].push 'created_at' unless @json['column_names'].include?('created_at')
20       @json['column_names'].push 'updated_at' unless @json['column_names'].include?('updated_at')
21       @json['columns']['created_at'] = {'type' => 'date'}
22       @json['columns']['updated_at'] = {'type' => 'date'}
23       @json['column_names'].each do |column_name|
24         @json['columns'][column_name] = {} unless @json['columns'][column_name]
25       end
26     end
27     
28     def init
29       super
30       @columns =  ManifestBase.load_type_name_args self, @json, 'columns', ColumnFactory
31       @column_names = @json['column_names']
32       @extend_settings = ManifestBase.load_name_values self, @json, 'extend_settings', ExtendSetting
33       @lists = ManifestBase.load_name_values self, @json, 'lists', List
34       @associations = ManifestBase.load_value self, @json, 'associations', Association
35     end
36     
37     def item_name
38       @name
39     end
40     
41     def each_column
42       @column_names
43     end
44     
45   end
46   
47 end
48