Class: ActionBlocks::FormBuilder
- Inherits:
-
BlockType
- Object
- BaseBuilder
- BlockType
- ActionBlocks::FormBuilder
- Defined in:
- lib/action_blocks/builders/form_builder.rb
Instance Attribute Summary collapse
-
#form_fields ⇒ Object
Returns the value of attribute form_fields.
-
#form_fields_hash ⇒ Object
Returns the value of attribute form_fields_hash.
-
#model_fields ⇒ Object
Returns the value of attribute model_fields.
-
#model_fields_hash ⇒ Object
Returns the value of attribute model_fields_hash.
-
#model_id ⇒ Object
Returns the value of attribute model_id.
Attributes inherited from BaseBuilder
Instance Method Summary collapse
- #add_form_field(ff) ⇒ Object
- #before_build(parent, *args) ⇒ Object
- #filter_reqs(user:, record_id:) ⇒ Object
- #hashify(user) ⇒ Object
- #record_engine(user:, record_id:) ⇒ Object
- #record_to_json(user:, record_id:) ⇒ Object
- #select_reqs(user:) ⇒ Object
Methods inherited from BlockType
Methods inherited from BaseBuilder
#after_build, #after_load, array_fields, block_type, builds, builds_many, delegate_class, #evaluate, #freeze, includes_scheme_helpers, #initialize, #is_block?, #key, references, sets, sets_many, #ui_reference, #valid?
Constructor Details
This class inherits a constructor from ActionBlocks::BaseBuilder
Instance Attribute Details
#form_fields ⇒ Object
Returns the value of attribute form_fields.
4 5 6 |
# File 'lib/action_blocks/builders/form_builder.rb', line 4 def form_fields @form_fields end |
#form_fields_hash ⇒ Object
Returns the value of attribute form_fields_hash.
4 5 6 |
# File 'lib/action_blocks/builders/form_builder.rb', line 4 def form_fields_hash @form_fields_hash end |
#model_fields ⇒ Object
Returns the value of attribute model_fields.
4 5 6 |
# File 'lib/action_blocks/builders/form_builder.rb', line 4 def model_fields @model_fields end |
#model_fields_hash ⇒ Object
Returns the value of attribute model_fields_hash.
4 5 6 |
# File 'lib/action_blocks/builders/form_builder.rb', line 4 def model_fields_hash @model_fields_hash end |
#model_id ⇒ Object
Returns the value of attribute model_id.
4 5 6 |
# File 'lib/action_blocks/builders/form_builder.rb', line 4 def model_id @model_id end |
Instance Method Details
#add_form_field(ff) ⇒ Object
18 19 20 21 22 |
# File 'lib/action_blocks/builders/form_builder.rb', line 18 def add_form_field(ff) name = ff.id @form_fields << ff @form_fields_hash[name] = ff end |
#before_build(parent, *args) ⇒ Object
13 14 15 16 |
# File 'lib/action_blocks/builders/form_builder.rb', line 13 def before_build(parent, *args) @form_fields = [] @form_fields_hash = {} end |
#filter_reqs(user:, record_id:) ⇒ Object
43 44 45 |
# File 'lib/action_blocks/builders/form_builder.rb', line 43 def filter_reqs(user:, record_id:) model.filter_reqs(user: user, record_id: record_id) end |
#hashify(user) ⇒ Object
47 48 49 50 51 52 53 54 |
# File 'lib/action_blocks/builders/form_builder.rb', line 47 def hashify(user) { context: @context, sections: @sections.map {|s| s.hashify(user)}, key: key, type: type } end |
#record_engine(user:, record_id:) ⇒ Object
28 29 30 31 32 33 |
# File 'lib/action_blocks/builders/form_builder.rb', line 28 def record_engine(user:, record_id:) DataEngine.new(model.active_model, filter_reqs: filter_reqs(user: user, record_id: record_id), select_reqs: select_reqs(user: user) ) end |
#record_to_json(user:, record_id:) ⇒ Object
35 36 37 |
# File 'lib/action_blocks/builders/form_builder.rb', line 35 def record_to_json(user:, record_id:) record_engine(user: user, record_id: record_id).first_to_json end |
#select_reqs(user:) ⇒ Object
39 40 41 |
# File 'lib/action_blocks/builders/form_builder.rb', line 39 def select_reqs(user:) srs = model_fields.map {|mf| mf.select_requirements }.flatten end |