OSDN Git Service

48c15393c0b6d693605483c01952459ce97fe7ac
[pettanr/pettanr.git] / lib / manifest / local / view / form / field / tag.rb
1 require_dependency "manifest/local/view/form/field/tag/base"\r
2 require_dependency "manifest/local/view/form/field/tag/text"\r
3 require_dependency "manifest/local/view/form/field/tag/number"\r
4 require_dependency "manifest/local/view/form/field/tag/text_area"\r
5 require_dependency "manifest/local/view/form/field/tag/select"\r
6 require_dependency "manifest/local/view/form/field/tag/hidden"\r
7 module Manifest\r
8   module View\r
9     module FormModule\r
10       module FieldModule\r
11         class TagFactory\r
12           include TagModule\r
13           @@types = {\r
14             'text' => TextTag, 'number' => NumberTag, 'text_area' => TextAreaTag, \r
15             'select' => SelectTag, 'hidden' => HiddenTag\r
16           }\r
17           def self.factory field, my_manifest\r
18             type = my_manifest.type\r
19             my_class = @@types[type]\r
20             raise "undefined class for local view forms > #{field.form_name} > fields > #{field.field_name} > tag > #{type}\n" unless my_class\r
21             my_class.new(field, my_manifest)\r
22           end\r
23           \r
24         end\r
25         \r
26       end\r
27     end\r
28   end\r
29 end\r