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
-
#forme_config(form) ⇒ Object
Configure the
formwith support forSequel::Modelspecific code, such as support for nested attributes. -
#forme_form_class(base) ⇒ Object
Return subclass of base form that includes the necessary Sequel form methods.
-
#forme_input(form, field, opts) ⇒ Object
Return
Forme::Inputinstance based on the given arguments.
Instance Method Details
#forme_config(form) ⇒ Object
Configure the form with support for Sequel::Model specific code, such as support for nested attributes.
456 457 458 |
# File 'lib/sequel/plugins/forme.rb', line 456 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.
461 462 463 464 465 466 467 468 469 |
# File 'lib/sequel/plugins/forme.rb', line 461 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.
472 473 474 |
# File 'lib/sequel/plugins/forme.rb', line 472 def forme_input(form, field, opts) SequelInput.new(self, form, field, opts).input end |