Module: Legion::Data::Model::Identity::ModelHelpers::ClassMethods

Defined in:
lib/legion/data/models/identity/model_helpers.rb

Instance Method Summary collapse

Instance Method Details

#lookup(value) ⇒ Object



15
16
17
# File 'lib/legion/data/models/identity/model_helpers.rb', line 15

def lookup(value)
  lookup_by_columns(value, lookup_columns)
end

#lookup_by_columns(value, lookup_columns) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/legion/data/models/identity/model_helpers.rb', line 19

def lookup_by_columns(value, lookup_columns)
  normalized = normalize_lookup_value(value)
  return if normalized.nil?

  lookup_columns.each do |column|
    next unless columns.include?(column)

    query_value = lookup_query_value(column, normalized)
    next if query_value == :skip

    record = where(column => query_value).first
    return record if record
  end

  nil
end