Module: RDBr::Query::Lookup

Included in:
Relational
Defined in:
lib/rdbr/query/lookup.rb

Instance Method Summary collapse

Instance Method Details

#lookup(namespace:, relation:, keys:) ⇒ Object



4
5
6
7
8
9
10
11
12
# File 'lib/rdbr/query/lookup.rb', line 4

def lookup(namespace:, relation:, keys:)
  _namespace,  = find_relation(namespace, relation)
  normalized_keys = normalize_lookup_keys(, keys)
  return [] if normalized_keys.empty?

  table = [ namespace, relation ].map{|name| connection.quote_identifier(name) }.join('.')
  predicates = normalized_keys.map{|key| lookup_predicate(key) }
  connection.select_all("SELECT * FROM #{table} WHERE #{predicates.join(' OR ')}")
end