OSDN Git Service

rename manifest/system_resource
[pettanr/pettanr.git] / lib / manifest / filer.rb
1 require_dependency "manifest/filer/symbol"
2 require_dependency "manifest/filer/caption"
3 require_dependency "manifest/filer/summary"
4 require_dependency "manifest/filer/icon"
5 require_dependency "manifest/filer/date"
6 require_dependency "manifest/filer/edit"
7 module Manifest
8   class Filer
9     
10     def self.manager manifest, my_manifests
11       filers = {}
12       my_manifests.each {|item_name, filer_manifest|
13         filers[item_name] = self.new(manifest, item_name, filer_manifest)
14       }
15       filers
16     end
17     
18     attr :filer_manifest, :item_name, :manifest,
19       :symbol, :caption, :summary, :icon, :date, :edit
20     def initialize manifest, item_name, filer_manifest
21       @manifest = manifest
22       @item_name = item_name
23       @filer_manifest = filer_manifest
24       self.set_default
25       self.init
26     end
27     
28     def set_default
29       @filer_manifest['symbol'] ||= {}
30       @filer_manifest['caption'] ||= {}
31       @filer_manifest['summary'] ||= {}
32       @filer_manifest['icon'] ||= {}
33       @filer_manifest['date'] ||= {}
34       @filer_manifest['edit'] ||= {}
35     end
36     
37     def init
38       @symbol = FilerModule::SymbolFactory.factory self, @filer_manifest['symbol']
39       @caption = FilerModule::CaptionFactory.factory self, @filer_manifest['caption']
40       @summary = FilerModule::SummaryFactory.factory self, @filer_manifest['summary']
41       @icon = FilerModule::IconFactory.factory self, @filer_manifest['icon']
42       @date = FilerModule::DateFactory.factory self, @filer_manifest['date']
43       @edit = FilerModule::EditFactory.factory self, @filer_manifest['edit']
44     end
45     
46     def filer_name
47       @item_name
48     end
49     
50   end
51   
52 end
53