OSDN Git Service

separate manifest
[pettanr/pettanr.git] / lib / local_manifest / form / field.rb
1 require_dependency "local_manifest/form/field/field"
2 module LocalManifest
3   module FormModule
4     class FieldFactory
5       include FieldModule
6       @@types = {
7         'element' => ElementField, 'part' => PartField
8       }
9       def self.factory form, field_name, my_manifest
10         my_manifest['type'] ||= 'element'
11         type = my_manifest['type']
12         raise "undefined type for forms > #{form.form_name} > fields > #{field_name}\n" unless type
13         my_class = @@types[type]
14         raise "undefined class for forms > #{form.form_name} > fields > #{field_name} > #{type}\n" unless my_class
15         my_class.new(form, field_name, my_manifest)
16       end
17       
18     end
19     
20   end
21 end