23
24
25
26
27
28
29
30
31
|
# File 'lib/external_id/concerns/with_external_id.rb', line 23
def add_external_id(external_id_object = nil, provider: nil, id: nil)
if external_id_object.blank? && provider.blank? && id.blank?
raise 'Either ExternalId::Value or provider and id are required'
end
eid = external_id_object.is_a?(::ExternalId::Value) ? external_id_object : ::ExternalId::Value.new(provider: provider, id: id)
::ExternalId::ExternalId.find_or_create_by!(provider: eid.provider, external_id: eid.id, resource: self)
end
|