Module: ActionForm::ElementsDSL::ClassMethods
- Defined in:
- lib/action_form/elements_dsl.rb
Overview
rubocop:disable Style/Documentation
Instance Method Summary collapse
-
#element(name, &block) ⇒ Object
TODO: add support for outputless elements.
- #elements ⇒ Object
- #many(name, default: nil, &block) ⇒ Object
- #subform(name, default: nil, &block) ⇒ Object
Instance Method Details
#element(name, &block) ⇒ Object
TODO: add support for outputless elements
26 27 28 29 |
# File 'lib/action_form/elements_dsl.rb', line 26 def element(name, &block) elements[name] = Class.new(ActionForm::Element) elements[name].class_eval(&block) end |
#elements ⇒ Object
21 22 23 |
# File 'lib/action_form/elements_dsl.rb', line 21 def elements @elements ||= {} end |
#many(name, default: nil, &block) ⇒ Object
31 32 33 34 35 36 37 |
# File 'lib/action_form/elements_dsl.rb', line 31 def many(name, default: nil, &block) subform_definition = Class.new(ActionForm::SubformsCollection) subform_definition.host_class = self subform_definition.class_eval(&block) if block elements[name] = subform_definition elements[name].default = default if default end |
#subform(name, default: nil, &block) ⇒ Object
39 40 41 42 43 |
# File 'lib/action_form/elements_dsl.rb', line 39 def subform(name, default: nil, &block) elements[name] = Class.new(subform_class) elements[name].class_eval(&block) elements[name].default = default if default end |