Class: Samsara::Types::TrainingAssignmentResponseObjectResponseBody

Inherits:
Object
  • Object
show all
Defined in:
lib/samsara_api/types/training_assignment_response_object_response_body.rb

Overview

Training Assignment response object.

Constant Summary collapse

OMIT =
Object.new

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(completed_at_time: OMIT, course:, created_at_time:, created_by_id:, deleted_at_time: OMIT, due_at_time: OMIT, duration_minutes:, id:, is_completed_late: OMIT, is_overdue: OMIT, learner:, score_percent: OMIT, started_at_time: OMIT, status:, updated_at_time:, updated_by_id:, additional_properties: nil) ⇒ Samsara::Types::TrainingAssignmentResponseObjectResponseBody

Parameters:

  • additional_properties (OpenStruct) (defaults to: nil)

    Additional properties unmapped to the current class definition



98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
# File 'lib/samsara_api/types/training_assignment_response_object_response_body.rb', line 98

def initialize(completed_at_time: OMIT, course:, created_at_time:, created_by_id:, deleted_at_time: OMIT, due_at_time: OMIT, duration_minutes:, id:, is_completed_late: OMIT, is_overdue: OMIT, learner:, score_percent: OMIT, started_at_time: OMIT, status:, updated_at_time:, updated_by_id:, additional_properties: nil)
  @completed_at_time = completed_at_time if completed_at_time != OMIT
  @course = course
  @created_at_time = created_at_time
  @created_by_id = created_by_id
  @deleted_at_time = deleted_at_time if deleted_at_time != OMIT
  @due_at_time = due_at_time if due_at_time != OMIT
  @duration_minutes = duration_minutes
  @id = id
  @is_completed_late = is_completed_late if is_completed_late != OMIT
  @is_overdue = is_overdue if is_overdue != OMIT
  @learner = learner
  @score_percent = score_percent if score_percent != OMIT
  @started_at_time = started_at_time if started_at_time != OMIT
  @status = status
  @updated_at_time = updated_at_time
  @updated_by_id = updated_by_id
  @additional_properties = additional_properties
  @_field_set = { "completedAtTime": completed_at_time, "course": course, "createdAtTime": created_at_time, "createdById": created_by_id, "deletedAtTime": deleted_at_time, "dueAtTime": due_at_time, "durationMinutes": duration_minutes, "id": id, "isCompletedLate": is_completed_late, "isOverdue": is_overdue, "learner": learner, "scorePercent": score_percent, "startedAtTime": started_at_time, "status": status, "updatedAtTime": updated_at_time, "updatedById": updated_by_id }.reject do | _k, v |
  v == OMIT
end
end

Instance Attribute Details

#additional_propertiesOpenStruct (readonly)

Returns Additional properties unmapped to the current class definition.

Returns:

  • (OpenStruct)

    Additional properties unmapped to the current class definition



62
63
64
# File 'lib/samsara_api/types/training_assignment_response_object_response_body.rb', line 62

def additional_properties
  @additional_properties
end

#completed_at_timeObject (readonly)

Returned when a training assignment completion status is “complete”.



20
21
22
# File 'lib/samsara_api/types/training_assignment_response_object_response_body.rb', line 20

def completed_at_time
  @completed_at_time
end

#courseSamsara::Types::TrainingCourseObjectResponseBody (readonly)



22
23
24
# File 'lib/samsara_api/types/training_assignment_response_object_response_body.rb', line 22

def course
  @course
end

#created_at_timeDateTime (readonly)

Returns Creation time of the training assignment. UTC timestamp in RFC 3339 format.

Returns:

  • (DateTime)

    Creation time of the training assignment. UTC timestamp in RFC 3339 format.



24
25
26
# File 'lib/samsara_api/types/training_assignment_response_object_response_body.rb', line 24

def created_at_time
  @created_at_time
end

#created_by_idString (readonly)

Returns ID of the user who created the training assignment.

Returns:

  • (String)

    ID of the user who created the training assignment.



26
27
28
# File 'lib/samsara_api/types/training_assignment_response_object_response_body.rb', line 26

def created_by_id
  @created_by_id
end

#deleted_at_timeDateTime (readonly)

Returns Time training assignment is deleted. UTC timestamp in RFC 3339 format.

Returns:

  • (DateTime)

    Time training assignment is deleted. UTC timestamp in RFC 3339 format.



28
29
30
# File 'lib/samsara_api/types/training_assignment_response_object_response_body.rb', line 28

def deleted_at_time
  @deleted_at_time
end

#due_at_timeObject (readonly)

an assignment has a due date set by an admin.



31
32
33
# File 'lib/samsara_api/types/training_assignment_response_object_response_body.rb', line 31

def due_at_time
  @due_at_time
end

#duration_minutesLong (readonly)

Returns Time spent on the training assignment.

Returns:

  • (Long)

    Time spent on the training assignment.



33
34
35
# File 'lib/samsara_api/types/training_assignment_response_object_response_body.rb', line 33

def duration_minutes
  @duration_minutes
end

#idString (readonly)

Returns ID of the training assignment.

Returns:

  • (String)

    ID of the training assignment.



35
36
37
# File 'lib/samsara_api/types/training_assignment_response_object_response_body.rb', line 35

def id
  @id
end

#is_completed_lateObject (readonly)

set by an admin.



39
40
41
# File 'lib/samsara_api/types/training_assignment_response_object_response_body.rb', line 39

def is_completed_late
  @is_completed_late
end

#is_overdueObject (readonly)

dueAtTime set by an admin.



43
44
45
# File 'lib/samsara_api/types/training_assignment_response_object_response_body.rb', line 43

def is_overdue
  @is_overdue
end

#learnerSamsara::Types::TrainingLearnerObjectResponseBody (readonly)



45
46
47
# File 'lib/samsara_api/types/training_assignment_response_object_response_body.rb', line 45

def learner
  @learner
end

#score_percentObject (readonly)

assignment completion status is “complete”.



48
49
50
# File 'lib/samsara_api/types/training_assignment_response_object_response_body.rb', line 48

def score_percent
  @score_percent
end

#started_at_timeObject (readonly)

when a training assignment completion status is “complete” or “inProgress”.



51
52
53
# File 'lib/samsara_api/types/training_assignment_response_object_response_body.rb', line 51

def started_at_time
  @started_at_time
end

#statusObject (readonly)

‘inProgress`, `completed`



54
55
56
# File 'lib/samsara_api/types/training_assignment_response_object_response_body.rb', line 54

def status
  @status
end

#updated_at_timeObject (readonly)

timestamp in RFC 3339 format.



57
58
59
# File 'lib/samsara_api/types/training_assignment_response_object_response_body.rb', line 57

def updated_at_time
  @updated_at_time
end

#updated_by_idObject (readonly)

learner.



60
61
62
# File 'lib/samsara_api/types/training_assignment_response_object_response_body.rb', line 60

def updated_by_id
  @updated_by_id
end

Class Method Details

.from_json(json_object:) ⇒ Samsara::Types::TrainingAssignmentResponseObjectResponseBody

Parameters:

  • json_object (String)

Returns:



125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
# File 'lib/samsara_api/types/training_assignment_response_object_response_body.rb', line 125

def self.from_json(json_object:)
  struct = JSON.parse(json_object, object_class: OpenStruct)
  parsed_json = JSON.parse(json_object)
  completed_at_time = unless parsed_json["completedAtTime"].nil?
  DateTime.parse(parsed_json["completedAtTime"])
else
  nil
end
  unless parsed_json["course"].nil?
    course = parsed_json["course"].to_json
    course = Samsara::Types::TrainingCourseObjectResponseBody.from_json(json_object: course)
  else
    course = nil
  end
  created_at_time = unless parsed_json["createdAtTime"].nil?
  DateTime.parse(parsed_json["createdAtTime"])
else
  nil
end
  created_by_id = parsed_json["createdById"]
  deleted_at_time = unless parsed_json["deletedAtTime"].nil?
  DateTime.parse(parsed_json["deletedAtTime"])
else
  nil
end
  due_at_time = unless parsed_json["dueAtTime"].nil?
  DateTime.parse(parsed_json["dueAtTime"])
else
  nil
end
  duration_minutes = parsed_json["durationMinutes"]
  id = parsed_json["id"]
  is_completed_late = parsed_json["isCompletedLate"]
  is_overdue = parsed_json["isOverdue"]
  unless parsed_json["learner"].nil?
    learner = parsed_json["learner"].to_json
    learner = Samsara::Types::TrainingLearnerObjectResponseBody.from_json(json_object: learner)
  else
    learner = nil
  end
  score_percent = parsed_json["scorePercent"]
  started_at_time = unless parsed_json["startedAtTime"].nil?
  DateTime.parse(parsed_json["startedAtTime"])
else
  nil
end
  status = parsed_json["status"]
  updated_at_time = unless parsed_json["updatedAtTime"].nil?
  DateTime.parse(parsed_json["updatedAtTime"])
else
  nil
end
  updated_by_id = parsed_json["updatedById"]
  new(
    completed_at_time: completed_at_time,
    course: course,
    created_at_time: created_at_time,
    created_by_id: created_by_id,
    deleted_at_time: deleted_at_time,
    due_at_time: due_at_time,
    duration_minutes: duration_minutes,
    id: id,
    is_completed_late: is_completed_late,
    is_overdue: is_overdue,
    learner: learner,
    score_percent: score_percent,
    started_at_time: started_at_time,
    status: status,
    updated_at_time: updated_at_time,
    updated_by_id: updated_by_id,
    additional_properties: struct
  )
end

.validate_raw(obj:) ⇒ Void

Parameters:

  • obj (Object)

Returns:

  • (Void)


211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
# File 'lib/samsara_api/types/training_assignment_response_object_response_body.rb', line 211

def self.validate_raw(obj:)
  obj.completed_at_time&.is_a?(DateTime) != false || raise("Passed value for field obj.completed_at_time is not the expected type, validation failed.")
  Samsara::Types::TrainingCourseObjectResponseBody.validate_raw(obj: obj.course)
  obj.created_at_time.is_a?(DateTime) != false || raise("Passed value for field obj.created_at_time is not the expected type, validation failed.")
  obj.created_by_id.is_a?(String) != false || raise("Passed value for field obj.created_by_id is not the expected type, validation failed.")
  obj.deleted_at_time&.is_a?(DateTime) != false || raise("Passed value for field obj.deleted_at_time is not the expected type, validation failed.")
  obj.due_at_time&.is_a?(DateTime) != false || raise("Passed value for field obj.due_at_time is not the expected type, validation failed.")
  obj.duration_minutes.is_a?(Long) != false || raise("Passed value for field obj.duration_minutes is not the expected type, validation failed.")
  obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
  obj.is_completed_late&.is_a?(Boolean) != false || raise("Passed value for field obj.is_completed_late is not the expected type, validation failed.")
  obj.is_overdue&.is_a?(Boolean) != false || raise("Passed value for field obj.is_overdue is not the expected type, validation failed.")
  Samsara::Types::TrainingLearnerObjectResponseBody.validate_raw(obj: obj.learner)
  obj.score_percent&.is_a?(Float) != false || raise("Passed value for field obj.score_percent is not the expected type, validation failed.")
  obj.started_at_time&.is_a?(DateTime) != false || raise("Passed value for field obj.started_at_time is not the expected type, validation failed.")
  obj.status.is_a?(Samsara::Types::TrainingAssignmentResponseObjectResponseBodyStatus) != false || raise("Passed value for field obj.status is not the expected type, validation failed.")
  obj.updated_at_time.is_a?(DateTime) != false || raise("Passed value for field obj.updated_at_time is not the expected type, validation failed.")
  obj.updated_by_id.is_a?(String) != false || raise("Passed value for field obj.updated_by_id is not the expected type, validation failed.")
end

Instance Method Details

#to_jsonString

Returns:

  • (String)


202
203
204
# File 'lib/samsara_api/types/training_assignment_response_object_response_body.rb', line 202

def to_json
  @_field_set&.to_json
end