OSDN Git Service

merge
[pettanr/pettanr.git] / lib / manifest / local / view / form / field / helper.rb
1 require_dependency "manifest/local/view/form/field/helper/base"
2 require_dependency "manifest/local/view/form/field/helper/size"
3 require_dependency "manifest/local/view/form/field/helper/tail_angle"
4 require_dependency "manifest/local/view/form/field/helper/color"
5 require_dependency "manifest/local/view/form/field/helper/popup"
6 module Manifest
7   module View
8     module FormModule
9       module FieldModule
10         class HelperFactory
11           include HelperModule
12           @@types = {
13             'size' => Size, 'tail_angle' => TailAngle, 'color' => Color, 
14             'popup' => Popup
15           }
16           def self.factory field, my_manifest
17             type = my_manifest.type
18             my_class = @@types[type]
19             raise "undefined class for local view forms > #{field.form_name} > fields > #{field.field_name} > helper > #{type}\n" unless my_class
20             my_class.new(field, my_manifest)
21           end
22           
23         end
24         
25       end
26     end
27   end
28 end