1 ManifestBase.require_modules "local_manifest/profiler/",
2 %w|column extend_setting list association|
5 class Profiler < ManifestBase::Base
8 attr :columns, :column_names, :extend_settings, :lists, :associations
12 @json['columns'] ||= {}
13 @json['column_names'] ||= []
14 @json['extend_settings'] ||= {}
16 @json['associations'] ||= {}
17 # supply column configures
18 @json['column_names'] = ['id'] + @json['column_names'] + ['created_at', 'updated_at']
19 @json['columns']['created_at'] = {'type' => 'date'}
20 @json['columns']['updated_at'] = {'type' => 'date'}
21 @json['column_names'].each do |column_name|
22 @json['columns'][column_name] = {} unless @json['columns'][column_name]
28 @columns = ManifestBase.load_type_name_args self, @json, 'columns', ColumnFactory
29 @column_names = @json['column_names']
30 @extend_settings = ManifestBase.load_name_values self, @json, 'extend_settings', ExtendSetting
31 @lists = ManifestBase.load_name_values self, @json, 'lists', List
32 @associations = ManifestBase.load_value self, @json, 'associations', Association