Class: CleverSDK::Data::User

Inherits:
Object
  • Object
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

private



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

#dataObject (readonly) Also known as: to_h

private



14
15
16
# File 'lib/clever_sdk/data/user.rb', line 14

def data
  @data
end

#responseObject (readonly)

private



14
15
16
# File 'lib/clever_sdk/data/user.rb', line 14

def response
  @response
end

Instance Method Details

#contactObject



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

#contact?Boolean

Returns:

  • (Boolean)


62
63
64
# File 'lib/clever_sdk/data/user.rb', line 62

def contact?
  !roles.dig("contact").nil?
end

#createdObject



50
51
52
53
54
# File 'lib/clever_sdk/data/user.rb', line 50

def created
  DateTime.parse(data.dig("created"))
rescue
  nil
end

#districtObject



26
27
28
# File 'lib/clever_sdk/data/user.rb', line 26

def district
  data.dig("district")
end

#district_adminObject



76
77
78
79
80
# File 'lib/clever_sdk/data/user.rb', line 76

def district_admin
  return unless district_admin?

  @district_admin ||= CleverSDK::Data::User::DistrictAdminRole.new(self)
end

#district_admin?Boolean

Returns:

  • (Boolean)


72
73
74
# File 'lib/clever_sdk/data/user.rb', line 72

def district_admin?
  !roles.dig("district_admin").nil?
end

#emailObject



42
43
44
# File 'lib/clever_sdk/data/user.rb', line 42

def email
  data.dig("email")
end

#first_nameObject



30
31
32
# File 'lib/clever_sdk/data/user.rb', line 30

def first_name
  data.dig("name", "first")
end

#idObject



22
23
24
# File 'lib/clever_sdk/data/user.rb', line 22

def id
  data.dig("id")
end

#inspectObject



116
117
118
# File 'lib/clever_sdk/data/user.rb', line 116

def inspect
  "#<#{self.class.name}(#{id}) #{first_name} #{last_name}>"
end

#last_modifiedObject



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_nameObject



38
39
40
# File 'lib/clever_sdk/data/user.rb', line 38

def last_name
  data.dig("name", "last")
end

#middle_nameObject



34
35
36
# File 'lib/clever_sdk/data/user.rb', line 34

def middle_name
  data.dig("name", "middle")
end

#refsObject



112
113
114
# File 'lib/clever_sdk/data/user.rb', line 112

def refs
  @refs ||= CleverSDK::Data::User::Refs.new(self)
end

#rolesObject



46
47
48
# File 'lib/clever_sdk/data/user.rb', line 46

def roles
  data.dig("roles")
end

#staffObject



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

Returns:

  • (Boolean)


82
83
84
# File 'lib/clever_sdk/data/user.rb', line 82

def staff?
  !roles.dig("staff").nil?
end

#studentObject



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

Returns:

  • (Boolean)


102
103
104
# File 'lib/clever_sdk/data/user.rb', line 102

def student?
  !roles.dig("student").nil?
end

#teacherObject



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

Returns:

  • (Boolean)


92
93
94
# File 'lib/clever_sdk/data/user.rb', line 92

def teacher?
  !roles.dig("teacher").nil?
end