Module: Sequel::Plugins::Forme::InstanceMethods

Defined in:
lib/sequel/plugins/forme.rb

Constant Summary collapse

MUTEX =
Mutex.new
FORM_CLASSES =
{::Forme::Form=>Form}

Instance Method Summary collapse

Instance Method Details

#forme_config(form) ⇒ Object

Configure the form with support for Sequel::Model specific code, such as support for nested attributes.



459
460
461
# File 'lib/sequel/plugins/forme.rb', line 459

def forme_config(form)
  form.namespaces << model.send(:underscore, model.name)
end

#forme_form_class(base) ⇒ Object

Return subclass of base form that includes the necessary Sequel form methods.



464
465
466
467
468
469
470
471
472
# File 'lib/sequel/plugins/forme.rb', line 464

def forme_form_class(base)
  unless klass = MUTEX.synchronize{FORM_CLASSES[base]}
    klass = Class.new(base)
    klass.send(:include, SequelForm)
    klass.send(:include, ERBSequelForm) if defined?(::Forme::ERB::Form) && base == ::Forme::ERB::Form
    MUTEX.synchronize{FORM_CLASSES[base] = klass}
  end
  klass
end

#forme_input(form, field, opts) ⇒ Object

Return Forme::Input instance based on the given arguments.



475
476
477
# File 'lib/sequel/plugins/forme.rb', line 475

def forme_input(form, field, opts)
  SequelInput.new(self, form, field, opts).input
end