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



21
22
23
# File 'lib/legion/data/models/identity/model_helpers.rb', line 21

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

#lookup_by_columns(value, lookup_columns) ⇒ Object



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/legion/data/models/identity/model_helpers.rb', line 25

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