OSDN Git Service

separate manifest
[pettanr/pettanr.git] / lib / locmare / list_group / list / play.rb
1 module Locmare
2   module ListGroupModule
3     class PlayList
4       attr :model, :list_name, :list_manifest, :type, 
5         :default_page_size, :max_page_size
6       
7       def initialize model, list_name, list_manifest
8         @model = model
9         @list_name = list_name
10         @list_manifest = list_manifest
11         self.set_default
12         self.init
13       end
14       
15       def set_default
16         @list_manifest['args'] ||= {}
17         return
18         @default_page_size = @conf['default_page_size'] || 25
19         @max_page_size = @conf['max_page_size'] || 100
20         @params_offset = params_offset
21         @params_count = params_count
22         @list_list_conf = @manifest.list(@item_name).lists[list_name] || {}
23         @model_name = @list_list_conf['model']
24         @filter_key = @list_list_conf['filter_key']
25         @model = @model_name.classify.constantize
26         @table_name = @model.table_name
27         if @model.content?
28           @owner_model = @model.owner_model
29           @owner_table_name = @owner_model.table_name if @owner_model
30         end
31       end
32       
33       def init
34         @type = @list_manifest['type']
35         @args = @list_manifest['args']
36       end
37       
38     end
39     
40   end
41 end