module SuperForm::Fieldable::ClassMethods

Public Instance Methods

field(field_id, field_class, options = {}) click to toggle source
# File lib/super_form/fieldable.rb, line 41
def field(field_id, field_class, options = {})
  field = field_class.factory(field_id, options)
  add_field(field)
end
fields() click to toggle source
# File lib/super_form/fieldable.rb, line 46
def fields
  @fields ||= []
end
fieldset(id) { || ... } click to toggle source
# File lib/super_form/fieldable.rb, line 50
def fieldset(id)
  open_fieldset(id)
  yield
  close_fieldset
end
fieldsets() click to toggle source
# File lib/super_form/fieldable.rb, line 56
def fieldsets
  @fieldsets ||= {}
end

Private Instance Methods

add_field(field) click to toggle source
# File lib/super_form/fieldable.rb, line 62
def add_field(field)
  field.setup_container(self)

  fields << field
  current_fieldset << field.name
end
close_fieldset() click to toggle source
# File lib/super_form/fieldable.rb, line 74
def close_fieldset
  @current = nil
end
current_fieldset() click to toggle source
# File lib/super_form/fieldable.rb, line 78
def current_fieldset
  fieldsets[@current] || open_fieldset(:default)
end
open_fieldset(id) click to toggle source
# File lib/super_form/fieldable.rb, line 69
def open_fieldset(id)
  @current = id
  fieldsets[@current] ||= []
end