class Basepack::Forms::Factories::Base
Constants
- FIELDS
Public Class Methods
new(form_class = Forms::Base, group_class = Groups::Base)
click to toggle source
# File lib/basepack/forms/factories/base.rb, line 14 def initialize(form_class = Forms::Base, group_class = Groups::Base) @form_class = form_class @group_class = group_class end
Public Instance Methods
build_form(form)
click to toggle source
# File lib/basepack/forms/factories/base.rb, line 19 def build_form(form) form end
new_field(name, form, attributes)
click to toggle source
# File lib/basepack/forms/factories/base.rb, line 31 def new_field(name, form, attributes) if klass = FIELDS[field_attr(attributes, :type)] klass.new(name, form, attributes) else Fields::Base.new(name, form, attributes) end end
new_form(*args)
click to toggle source
# File lib/basepack/forms/factories/base.rb, line 23 def new_form(*args) @form_class.new(self, *args).build_from_factory end
new_group(form, attributes)
click to toggle source
# File lib/basepack/forms/factories/base.rb, line 27 def new_group(form, attributes) @group_class.new(form, attributes) end
Private Instance Methods
field_attr(attributes, name)
click to toggle source
# File lib/basepack/forms/factories/base.rb, line 41 def field_attr(attributes, name) if attributes if attributes.respond_to? name attributes.send(name) else attributes[name] end end end