class ActionBlocks::LookupFieldBuilder

Attributes

parent_reference[RW]

Public Instance Methods

after_build(parent, *args) click to toggle source
# File lib/action_blocks/builders/model_builder.rb, line 423
def after_build(parent, *args)
  @parent_model.fields.append(self)
end
before_build(parent, *args) click to toggle source
# File lib/action_blocks/builders/model_builder.rb, line 413
def before_build(parent, *args)
  @field_type = 'lookup'
  @parent_reference = parent
  mk = @parent_reference.model_key.clone
  mk['model-'] = ''
  @target_field_key = "field-#{mk}-#{args[0]}"
  @parent_model = @parent_reference.parent_model
  @id = "#{parent_reference.id}_#{args[0]}"
end
hashify(user) click to toggle source
# File lib/action_blocks/builders/model_builder.rb, line 442
def hashify(user)
  {
    type: :lookup,
    id: @id
  }
end
match_requirements(select_as_prefix = nil) click to toggle source
# File lib/action_blocks/builders/model_builder.rb, line 435
def match_requirements(select_as_prefix = nil)
  target_data_reqs = target_field.select_requirements([select_as_prefix, parent_reference.association_name].compact.join('_'))
    {
      path: [select_as_prefix, parent_reference.association_name, target_data_reqs[:path]].compact.flatten,
    }
end
select_requirements(select_as_prefix = nil) click to toggle source
# File lib/action_blocks/builders/model_builder.rb, line 427
def select_requirements(select_as_prefix = nil)
  target_data_reqs = target_field.select_requirements([select_as_prefix, parent_reference.association_name].compact.join('_'))
    {
      field_name: target_data_reqs[:field_name],
      path: [parent_reference.association_name, target_data_reqs[:path]].flatten,
    }
end