class ActionBlocks::FormBuilder
Attributes
form_fields[RW]
form_fields_hash[RW]
model_fields[RW]
model_fields_hash[RW]
model_id[RW]
Public Instance Methods
add_form_field(ff)
click to toggle source
# 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)
click to toggle source
# 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:)
click to toggle source
# 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)
click to toggle source
# 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:)
click to toggle source
# 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:)
click to toggle source
# 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:)
click to toggle source
# File lib/action_blocks/builders/form_builder.rb, line 39 def select_reqs(user:) srs = model_fields.map {|mf| mf.select_requirements }.flatten end