Class: CleverSDK::Data::User
- Inherits:
-
Object
- Object
- CleverSDK::Data::User
show all
- Defined in:
- lib/clever_sdk/data/user.rb,
lib/clever_sdk/data/user/refs.rb,
lib/clever_sdk/data/user/staff_role.rb,
lib/clever_sdk/data/user/contact_role.rb,
lib/clever_sdk/data/user/student_role.rb,
lib/clever_sdk/data/user/teacher_role.rb,
lib/clever_sdk/data/user/district_admin_role.rb
Defined Under Namespace
Classes: ContactRole, DistrictAdminRole, Refs, StaffRole, StudentRole, TeacherRole
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(data, response) ⇒ User
17
18
19
20
|
# File 'lib/clever_sdk/data/user.rb', line 17
def initialize(data, response)
@data = data
@response = response
end
|
Instance Attribute Details
#data ⇒ Object
Also known as:
to_h
14
15
16
|
# File 'lib/clever_sdk/data/user.rb', line 14
def data
@data
end
|
#response ⇒ Object
14
15
16
|
# File 'lib/clever_sdk/data/user.rb', line 14
def response
@response
end
|
Instance Method Details
66
67
68
69
70
|
# File 'lib/clever_sdk/data/user.rb', line 66
def contact
return unless contact?
@contact ||= CleverSDK::Data::User::ContactRole.new(self)
end
|
62
63
64
|
# File 'lib/clever_sdk/data/user.rb', line 62
def contact?
!roles.dig("contact").nil?
end
|
#created ⇒ Object
50
51
52
53
54
|
# File 'lib/clever_sdk/data/user.rb', line 50
def created
DateTime.parse(data.dig("created"))
rescue
nil
end
|
#district ⇒ Object
26
27
28
|
# File 'lib/clever_sdk/data/user.rb', line 26
def district
data.dig("district")
end
|
#district_admin? ⇒ Boolean
72
73
74
|
# File 'lib/clever_sdk/data/user.rb', line 72
def district_admin?
!roles.dig("district_admin").nil?
end
|
#email ⇒ Object
42
43
44
|
# File 'lib/clever_sdk/data/user.rb', line 42
def email
data.dig("email")
end
|
#first_name ⇒ Object
30
31
32
|
# File 'lib/clever_sdk/data/user.rb', line 30
def first_name
data.dig("name", "first")
end
|
#id ⇒ Object
22
23
24
|
# File 'lib/clever_sdk/data/user.rb', line 22
def id
data.dig("id")
end
|
#inspect ⇒ Object
116
117
118
|
# File 'lib/clever_sdk/data/user.rb', line 116
def inspect
"#<#{self.class.name}(#{id}) #{first_name} #{last_name}>"
end
|
#last_modified ⇒ Object
56
57
58
59
60
|
# File 'lib/clever_sdk/data/user.rb', line 56
def last_modified
DateTime.parse(data.dig("last_modified"))
rescue
nil
end
|
#last_name ⇒ Object
38
39
40
|
# File 'lib/clever_sdk/data/user.rb', line 38
def last_name
data.dig("name", "last")
end
|
#middle_name ⇒ Object
34
35
36
|
# File 'lib/clever_sdk/data/user.rb', line 34
def middle_name
data.dig("name", "middle")
end
|
#roles ⇒ Object
46
47
48
|
# File 'lib/clever_sdk/data/user.rb', line 46
def roles
data.dig("roles")
end
|
#staff ⇒ Object
86
87
88
89
90
|
# File 'lib/clever_sdk/data/user.rb', line 86
def staff
return unless staff?
@staff ||= CleverSDK::Data::User::StaffRole.new(self)
end
|
#staff? ⇒ Boolean
82
83
84
|
# File 'lib/clever_sdk/data/user.rb', line 82
def staff?
!roles.dig("staff").nil?
end
|
#student ⇒ Object
106
107
108
109
110
|
# File 'lib/clever_sdk/data/user.rb', line 106
def student
return unless student?
@student ||= CleverSDK::Data::User::StudentRole.new(self)
end
|
#student? ⇒ Boolean
102
103
104
|
# File 'lib/clever_sdk/data/user.rb', line 102
def student?
!roles.dig("student").nil?
end
|
#teacher ⇒ Object
96
97
98
99
100
|
# File 'lib/clever_sdk/data/user.rb', line 96
def teacher
return unless teacher?
@teacher ||= CleverSDK::Data::User::TeacherRole.new(self)
end
|
#teacher? ⇒ Boolean
92
93
94
|
# File 'lib/clever_sdk/data/user.rb', line 92
def teacher?
!roles.dig("teacher").nil?
end
|