Class: Clever::Types::Teacher
Direct Known Subclasses
Instance Attribute Summary collapse
-
#email ⇒ Object
readonly
Returns the value of attribute email.
-
#first_name ⇒ Object
readonly
Returns the value of attribute first_name.
-
#last_name ⇒ Object
readonly
Returns the value of attribute last_name.
-
#legacy_id ⇒ Object
readonly
Returns the value of attribute legacy_id.
-
#provider ⇒ Object
readonly
Returns the value of attribute provider.
-
#role ⇒ Object
readonly
Returns the value of attribute role.
-
#uid ⇒ Object
readonly
Returns the value of attribute uid.
Instance Method Summary collapse
-
#initialize(attributes = {}, client: nil) ⇒ Teacher
constructor
A new instance of Teacher.
- #to_h ⇒ Object
- #username(client = nil) ⇒ Object
Constructor Details
#initialize(attributes = {}, client: nil) ⇒ Teacher
Returns a new instance of Teacher.
14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/clever/types/teacher.rb', line 14 def initialize(attributes = {}, *, client: nil) @district_username = attributes.dig('roles', 'teacher', 'credentials', 'district_username') @email = attributes['email'] @first_name = attributes['name']['first'] @last_name = attributes['name']['last'] @legacy_id = attributes.dig('roles', 'teacher', 'legacy_id') @provider = 'clever' @sis_id = attributes.dig('roles', 'teacher', 'sis_id') @uid = attributes['id'] @username = username(client) @role = 'teacher' end |
Instance Attribute Details
#email ⇒ Object (readonly)
Returns the value of attribute email.
6 7 8 |
# File 'lib/clever/types/teacher.rb', line 6 def email @email end |
#first_name ⇒ Object (readonly)
Returns the value of attribute first_name.
6 7 8 |
# File 'lib/clever/types/teacher.rb', line 6 def first_name @first_name end |
#last_name ⇒ Object (readonly)
Returns the value of attribute last_name.
6 7 8 |
# File 'lib/clever/types/teacher.rb', line 6 def last_name @last_name end |
#legacy_id ⇒ Object (readonly)
Returns the value of attribute legacy_id.
6 7 8 |
# File 'lib/clever/types/teacher.rb', line 6 def legacy_id @legacy_id end |
#provider ⇒ Object (readonly)
Returns the value of attribute provider.
6 7 8 |
# File 'lib/clever/types/teacher.rb', line 6 def provider @provider end |
#role ⇒ Object (readonly)
Returns the value of attribute role.
6 7 8 |
# File 'lib/clever/types/teacher.rb', line 6 def role @role end |
#uid ⇒ Object (readonly)
Returns the value of attribute uid.
6 7 8 |
# File 'lib/clever/types/teacher.rb', line 6 def uid @uid end |
Instance Method Details
#to_h ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/clever/types/teacher.rb', line 33 def to_h { uid: @uid, email: @email, first_name: @first_name, last_name: @last_name, username: @username, provider: @provider, legacy_id: @legacy_id } end |
#username(client = nil) ⇒ Object
27 28 29 30 31 |
# File 'lib/clever/types/teacher.rb', line 27 def username(client = nil) username_source = client&.staff_username_source @username ||= presence(username_from(username_source)) end |