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,
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'
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']
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'
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'
42 def supply_default item
43 self.engine_model(item).engine_extend_module.supply_default item, self