OSDN Git Service

cb61f936601f3f03ef25bdc1f0651a172ed25737
[pettanr/pettanr.git] / lib / manifest / form / field.rb
1 require_dependency "manifest/form/field/field"
2 module Manifest
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         type = my_manifest['type'] || 'element'
11         raise "undefined type for forms > #{form.form_name} > fields > #{field_name}\n" unless type
12         my_class = @@types[type]
13         raise "undefined class for forms > #{form.form_name} > fields > #{field_name} > #{type}\n" unless my_class
14         my_class.new(form, field_name, my_manifest)
15       end
16       
17     end
18     
19   end
20 end