Module: CanvasSync::Concerns::User::ThroughPseudonyms

Extended by:
ActiveSupport::Concern
Includes:
Record
Defined in:
lib/canvas_sync/concerns/user/through_pseudonyms.rb

Instance Method Summary collapse

Methods included from Record

_get_module_parent, define_feature, registered_features

Methods included from SyncMapping

mapping_for

Instance Method Details

#load_pseudonym_for_relation!(any: false) ⇒ Object

Raises:

  • (ActiveRecord::RecordNotFound)


36
37
38
39
40
41
42
43
44
# File 'lib/canvas_sync/concerns/user/through_pseudonyms.rb', line 36

def load_pseudonym_for_relation!(any: false)
  return @pseudonym_for_relation if defined?(@pseudonym_for_relation)

  @pseudonym_for_relation = self.active_pseudonyms[0] || Pseudonym.find_by(user: self)
  raise ActiveRecord::RecordNotFound, "No Pseudonym for User #{self.canvas_id}" unless @pseudonym_for_relation.present?
  raise ActiveRecord::RecordNotFound, "No Active Pseudonym for User #{self.canvas_id}" unless @pseudonym_for_relation.workflow_state != "deleted" || any

  @pseudonym_for_relation
end