Class: ActionBlocks::LookupFieldBuilder
Instance Attribute Summary collapse
Attributes inherited from FieldBlock
#field_type, #parent_model
Attributes inherited from BaseBuilder
#dsl_delegate, #id
Instance Method Summary
collapse
Methods inherited from FieldBlock
#key
Methods inherited from BlockType
#is_block?, #type
Methods inherited from BaseBuilder
#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?
Instance Attribute Details
#parent_reference ⇒ Object
Returns the value of attribute parent_reference.
410
411
412
|
# File 'lib/action_blocks/builders/model_builder.rb', line 410
def parent_reference
@parent_reference
end
|
Instance Method Details
#after_build(parent, *args) ⇒ Object
423
424
425
|
# 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) ⇒ Object
413
414
415
416
417
418
419
420
421
|
# 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) ⇒ Object
442
443
444
445
446
447
|
# File 'lib/action_blocks/builders/model_builder.rb', line 442
def hashify(user)
{
type: :lookup,
id: @id
}
end
|
#match_requirements(select_as_prefix = nil) ⇒ Object
435
436
437
438
439
440
|
# 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) ⇒ Object
427
428
429
430
431
432
433
|
# 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
|