OSDN Git Service

fix profiler extend system
[pettanr/pettanr.git] / lib / manifest / item / boost.rb
1 module Manifest
2   module ItemModule
3     class Boost < ManifestBase::NameValues
4       attr :level, :resource_name, :extend_column_name, :settings_column_name, 
5         :foreign_key, :extend_model_class_name, :extend_item_name, 
6         :setter_method_name, :getter_method_name, 
7         :extend_module_name
8       
9       def set_default
10         super
11         @values['level'] ||= 'post'
12         @values['resource_name'] ||= @name
13         @values['extend_column_name'] ||= @values['resource_name'] + '_classname'
14         @values['settings_column_name'] ||= @values['resource_name'] + '_settings'
15         @values['foreign_key'] ||= @values['resource_name'] + '_id'
16       end
17       
18       def init
19         super
20         @level = @values['level']
21         @resource_name = @values['resource_name']
22         @extend_column_name = @values['extend_column_name']
23         @settings_column_name = @values['settings_column_name']
24         @foreign_key = @values['foreign_key']
25       end
26       
27       def init_after_load_manifest
28         # string name can't change before load manifest
29         @values['extend_model_class_name'] ||= @parent.model.singular
30         @values['extend_item_name'] ||= @parent.model.item_name
31         @values['setter_method_name'] ||= @values['extend_item_name'] + '_extend='
32         @values['getter_method_name'] ||= @values['extend_item_name'] + '_extend'
33         
34         @extend_model_class_name = @values['extend_model_class_name']
35         @extend_item_name = @values['extend_item_name']
36         @setter_method_name = @values['setter_method_name']
37         @getter_method_name = @values['getter_method_name']
38         @extend_module_name = @extend_model_class_name + 'Module'
39       end
40       
41       
42       def supply_default item
43         self.engine_model(item).engine_extend_module.supply_default item, self
44       end
45       
46     end
47   end
48 end