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