OSDN Git Service

fix spec
[pettanr/pettanr.git] / lib / local_manifest / profiler / association / has_many.rb
1 module LocalManifest
2   module ProfilerModule
3     module AssociationModule
4       class HasMany < ManifestBase::Names
5         attr :model_name, :list_name, :table_name
6         
7         def set_default
8           super
9         end
10         
11         def init
12           super
13           if list_manifest = self.profiler.lists[@name]
14             @model_name = list_manifest.model_name
15             @list_name = list_manifest.list_name
16           else
17             n = @name.split '.'
18             if n.size > 1
19               @table_name = n[0]
20               @model_name = @table_name.singularize
21               @list_name = n[1]
22             else
23               ManifestBase::alert_undefined_message 'list', self.module_message
24             end
25           end
26         end
27         
28         def list
29           Locmare::ListGroup.list @model_name, @list_name
30         end
31         
32         def model
33           ::Manifest::item_name_to_model @model_name
34         end
35         
36         def association_name
37           @parent.profiler_name
38         end
39         
40         def profiler
41           @parent.profiler
42         end
43         
44         def profiler_manifest
45           @parent.profiler_manifest
46         end
47         
48       end
49       
50     end
51   end
52 end