OSDN Git Service

fix:error dlg
[pettanr/pettanr.git] / lib / manifest / item / base.rb
1 ManifestBase.require_modules "manifest/item/", 
2   %w|boost|
3
4 module Manifest
5   module ItemModule
6     class BasePeta < ManifestBase::TypeNameArgs
7       
8       attr :boost ,:parent_item_name
9       
10       def set_default
11         super
12         @args['boost'] ||= {}
13       end
14       
15       def init
16         super
17         @parent_item_name = nil  # init at leaf, element
18         @boost = ManifestBase.load_name_values self, @args, 'boost', Boost
19       end
20       
21       def element?
22         @parent_item_name != nil
23       end
24       
25       def find_boost_name column_name
26         @boost.each do |boost_name, boost_manifest|
27           return boost_name if boost_manifest.settings_column_name == column_name
28         end
29         nil
30       end
31       
32       def extend_column? column_name
33         @boost.each do |boost_name, boost_manifest|
34           return true if boost_manifest.extend_column_name == column_name
35         end
36         false
37       end
38       
39       def supply_defaults item
40         @boost.each do |name, manifest|
41           manifest.supply_default item
42         end
43       end
44       
45       def overwrites item
46         @boost.each do |name, manifest|
47           manifest.overwrite item
48         end
49       end
50       
51       def model
52         ::Manifest.item_name_to_model @name
53       end
54       
55     end
56   end
57 end