Module: Familia::Features::ExternalIdentifier::ClassMethods
- Defined in:
- lib/familia/features/external_identifier.rb
Overview
ExternalIdentifier::ClassMethods
Instance Method Summary collapse
-
#find_by_extid(extid) ⇒ Object?
Find an object by its external identifier.
Instance Method Details
#find_by_extid(extid) ⇒ Object?
Find an object by its external identifier
140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 |
# File 'lib/familia/features/external_identifier.rb', line 140 def find_by_extid(extid) return nil if extid.to_s.empty? if Familia.debug? reference = caller(1..1).first Familia.trace :FIND_BY_EXTID, Familia.dbclient, extid, reference end # Look up the primary ID from the external ID mapping primary_id = extid_lookup[extid] return nil if primary_id.nil? # Find the object by its primary ID find_by_id(primary_id) rescue Familia::NotFound # If the object was deleted but mapping wasn't cleaned up extid_lookup.del(extid) nil end |