OSDN Git Service

merge
[pettanr/pettanr.git] / lib / manifest / form / field / helper.rb
index d7255d9..cf2f91f 100644 (file)
@@ -1,18 +1,23 @@
-require_dependency "manifest/form/field/helper/helper"
+require_dependency "manifest/form/field/helper/base"
+require_dependency "manifest/form/field/helper/size"
+require_dependency "manifest/form/field/helper/tail_angle"
+require_dependency "manifest/form/field/helper/color"
+require_dependency "manifest/form/field/helper/popup"
 module Manifest
   module FormModule
     module FieldModule
       class HelperFactory
         include HelperModule
         @@types = {
-          'default' => Default, 'none' => None
+          'size' => Size, 'tail_angle' => TailAngle, 'color' => Color, 
+          'popup' => Popup
         }
-        def self.factory field, my_manifest
+        def self.factory field, helper_name, my_manifest
           type = my_manifest['type'] || 'none'
-          raise "undefined type for forms > #{field.form_name} > fields > #{field.field_name} > helper\n" unless type
+          raise "undefined type for forms > #{field.form_name} > fields > #{field.field_name} > helpers > #{helper_name}\n" unless type
           my_class = @@types[type]
-          raise "undefined class for forms > #{field.form_name} > fields > #{field.field_name} > helper > #{type}\n" unless my_class
-          my_class.new(field, my_manifest)
+          raise "undefined class for forms > #{field.form_name} > fields > #{field.field_name} > helpers > #{helper_name} > #{type}\n" unless my_class
+          my_class.new(field, helper_name, my_manifest)
         end
         
       end