class Datamappify::Data::Criteria::Sequel::FindMultiple

Private Instance Methods

records() click to toggle source

@return [Array]

# File lib/datamappify/data/criteria/sequel/find_multiple.rb, line 11
def records
  query_builder = source_class

  secondaries.each do |secondary|
    query_builder = query_builder.join(secondary.source_table, secondary.primary_reference_key => :id)
  end

  query_builder.where(structured_criteria(primaries, secondaries))
end
structured_criteria(primaries, secondaries) click to toggle source

@param primaries [Array<Attribute>]

@param secondaries [Array<Attribute>]

@return [Hash]

# File lib/datamappify/data/criteria/sequel/find_multiple.rb, line 26
def structured_criteria(primaries, secondaries)
  _criteria = {}

  primaries.each do |primary|
    _criteria[primary.source_attribute_key] = primary.value
  end

  secondaries.each do |secondary|
    _criteria[:"#{secondary.source_table}__#{secondary.source_attribute_name}"] = secondary.value
  end

  _criteria
end