Class: Neewom::AbstractForm
- Inherits:
-
Object
- Object
- Neewom::AbstractForm
- Includes:
- Proxies::BuildersAndFinders, Serializer
- Defined in:
- lib/neewom/abstract_form.rb
Instance Attribute Summary collapse
-
#fields ⇒ Object
Returns the value of attribute fields.
-
#id ⇒ Object
Returns the value of attribute id.
-
#persist_submit_controls ⇒ Object
Returns the value of attribute persist_submit_controls.
-
#repository_klass ⇒ Object
Returns the value of attribute repository_klass.
-
#template ⇒ Object
Returns the value of attribute template.
Class Method Summary collapse
Instance Method Summary collapse
Methods included from Serializer
Methods included from Proxies::BuildersAndFinders
#apply_inputs, #build_resource, #find, #find_and_apply_inputs, #find_by, #find_by!, #find_by_and_apply_inputs, #find_by_and_apply_inputs!, #parse_submit_control_value, #permit_params, #strong_params_permit, #strong_params_require
Instance Attribute Details
#fields ⇒ Object
Returns the value of attribute fields.
7 8 9 |
# File 'lib/neewom/abstract_form.rb', line 7 def fields @fields end |
#id ⇒ Object
Returns the value of attribute id.
7 8 9 |
# File 'lib/neewom/abstract_form.rb', line 7 def id @id end |
#persist_submit_controls ⇒ Object
Returns the value of attribute persist_submit_controls.
7 8 9 |
# File 'lib/neewom/abstract_form.rb', line 7 def persist_submit_controls @persist_submit_controls end |
#repository_klass ⇒ Object
Returns the value of attribute repository_klass.
7 8 9 |
# File 'lib/neewom/abstract_form.rb', line 7 def repository_klass @repository_klass end |
#template ⇒ Object
Returns the value of attribute template.
7 8 9 |
# File 'lib/neewom/abstract_form.rb', line 7 def template @template end |
Class Method Details
.build(config) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/neewom/abstract_form.rb', line 9 def self.build(config) form = self.new form.id = config[:id] form.repository_klass = config[:repository_klass] form.template = config[:template] form.persist_submit_controls = config[:persist_submit_controls] form.fields = config[:fields].map do |name, field_config| field = Neewom::AbstractField.new field_config = { input: field_config } if field_config.is_a?(String) field.name = name field.label = field_config[:label] field.input = field_config[:input] field.virtual = field_config[:virtual] field.validations = field_config[:validations] field.collection = field_config[:collection] field.collection_klass = field_config[:collection_klass] field.collection_method = field_config[:collection_method] field.collection_params = field_config[:collection_params] field.label_method = field_config[:label_method] field.value_method = field_config[:value_method] field.input_html = field_config[:input_html] field. = field_config[:custom_options] field end form end |
Instance Method Details
#persisted_fields ⇒ Object
57 58 59 |
# File 'lib/neewom/abstract_form.rb', line 57 def persisted_fields persist_submit_controls ? fields : fields.reject(&:submit?) end |
#store! ⇒ Object
61 62 63 |
# File 'lib/neewom/abstract_form.rb', line 61 def store! Neewom::Repository.new.store!(self) end |
#submit_fields ⇒ Object
53 54 55 |
# File 'lib/neewom/abstract_form.rb', line 53 def submit_fields fields.select(&:submit?) end |
#virtual_fields ⇒ Object
49 50 51 |
# File 'lib/neewom/abstract_form.rb', line 49 def virtual_fields fields.select(&:virtual) end |