OSDN Git Service

fix filer pager
[pettanr/pettanr.git] / lib / locmare / filer.rb
1 require_dependency "locmare/filer/header"
2 require_dependency "locmare/filer/body"
3 require_dependency "locmare/filer/pager"
4 module Locmare
5   class Filer
6     include FilerModule
7     
8     attr :manifest, :item_name, :items, :list_result, :pager_type, :operators, :template_dir, 
9       :header, :body, :pager
10       
11     def initialize item_name, items, list_result, pager_type, operators
12       @item_name = item_name
13       @items = items
14       @list_result = list_result
15       @pager_type = pager_type.to_s
16       @operators = operators
17       @manifest = LocalManifest.manifest.filers[@item_name]
18       @template_dir = 'templates/r/filer/'
19       @header = Header.new self
20       @body = Body.new self
21       self.init_pager
22     end
23     
24     def init_pager
25       @pager = self.class.pager[@pager_type].new self
26     end
27     
28     def self.pager
29       {'none' => NonePager, 'default' => DefaultPager, 'more' => MorePager}
30     end
31     
32     def model
33       ::Manifest::item_name_to_model @item_name
34     end
35     
36     def template_file_name
37       "filer"
38     end
39     
40     def template_name
41       self.template_dir + self.template_file_name
42     end
43     
44     def image_dir
45       '/images/'
46     end
47     
48   end
49 end
50