4 attr :list_group_name, :list_name, :options, :item_name,
5 :controller_manifest, :action_manifest, :list_manifest, :model,
8 def initialize list_group_name, list_name, operators, options = {}
9 @list_group_name = list_group_name
10 @list_name = list_name
11 @operators = operators
14 @list_group_manifest = LocalManifest.manifest.list_groups[@list_group_name]
15 @list_manifest = @list_group_manifest.lists[@list_name]
16 @where = @list_manifest.where
17 @includes = @list_manifest.includes
19 @controller_name = @list_group_name
20 @action_name = @list_name
21 @controller_manifest = ::Manifest.manifest.controllers[@controller_name]
22 @action_manifest = @controller_manifest.actions[@action_name]
23 @item_name = @action_manifest.item_name
24 @model = ::Manifest.item_name_to_model @item_name
25 @table_name = @model.table_name
30 @page_status = LibModule::PageStatus.load self, self.total, @options
39 self.max_page_size > 0
47 @action_manifest.default_page_size
51 @action_manifest.max_page_size
55 order = @options['order'] || @options[:order] || @action_manifest.order
56 order = 'updated_at' unless ::Manifest.manifest.models[@item_name].attributes[order]
57 @table_name + '.' + order
61 direction = @options['direction'] || @options[:direction] || @action_manifest.direction
72 @options['id'] || @options[:id]
76 self.order + ' ' + self.direction
79 def base_where_condition
80 method_name = @where.conditions do |name|
83 @model.__send__ method_name
95 @items ||= @model.where(
101 ).offset(@page_status.offset).limit(@page_status.limit)
110 # return string : =>"25"
114 @model.my_peta.boost.select do |boost_name, boost_manifest|
115 boost_manifest.level == 'show'
120 manifests = self.boost_manifests
122 manifests.each do |boost_manifest|
123 item.boost_manifest # ?