Class: Samsara::Types::SpeedingIntervalResponseBody

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

Overview

Speeding Interval Object

Constant Summary collapse

OMIT =
Object.new

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(end_time:, is_dismissed:, location:, max_speed_kilometers_per_hour:, posted_speed_limit_kilometers_per_hour:, severity_level:, start_time:, additional_properties: nil) ⇒ Samsara::Types::SpeedingIntervalResponseBody



44
45
46
47
48
49
50
51
52
53
54
# File 'lib/samsara_api/types/speeding_interval_response_body.rb', line 44

def initialize(end_time:, is_dismissed:, location:, max_speed_kilometers_per_hour:, posted_speed_limit_kilometers_per_hour:, severity_level:, start_time:, additional_properties: nil)
  @end_time = end_time
  @is_dismissed = is_dismissed
  @location = location
  @max_speed_kilometers_per_hour = max_speed_kilometers_per_hour
  @posted_speed_limit_kilometers_per_hour = posted_speed_limit_kilometers_per_hour
  @severity_level = severity_level
  @start_time = start_time
  @additional_properties = additional_properties
  @_field_set = { "endTime": end_time, "isDismissed": is_dismissed, "location": location, "maxSpeedKilometersPerHour": max_speed_kilometers_per_hour, "postedSpeedLimitKilometersPerHour": posted_speed_limit_kilometers_per_hour, "severityLevel": severity_level, "startTime": start_time }
end

Instance Attribute Details

#additional_properties ⇒ OpenStruct (readonly)



27
28
29
# File 'lib/samsara_api/types/speeding_interval_response_body.rb', line 27

def additional_properties
  @additional_properties
end

#end_time ⇒ String (readonly)



12
13
14
# File 'lib/samsara_api/types/speeding_interval_response_body.rb', line 12

def end_time
  @end_time
end

#is_dismissed ⇒ Boolean (readonly)



14
15
16
# File 'lib/samsara_api/types/speeding_interval_response_body.rb', line 14

def is_dismissed
  @is_dismissed
end

#location ⇒ Samsara::Types::SpeedingIntervalLocationResponseResponseBody (readonly)



16
17
18
# File 'lib/samsara_api/types/speeding_interval_response_body.rb', line 16

def location
  @location
end

#max_speed_kilometers_per_hour ⇒ Float (readonly)



18
19
20
# File 'lib/samsara_api/types/speeding_interval_response_body.rb', line 18

def max_speed_kilometers_per_hour
  @max_speed_kilometers_per_hour
end

#posted_speed_limit_kilometers_per_hour ⇒ Float (readonly)



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

def posted_speed_limit_kilometers_per_hour
  @posted_speed_limit_kilometers_per_hour
end

#severity_level ⇒ Object (readonly)

moderate, heavy, severe



23
24
25
# File 'lib/samsara_api/types/speeding_interval_response_body.rb', line 23

def severity_level
  @severity_level
end

#start_time ⇒ String (readonly)



25
26
27
# File 'lib/samsara_api/types/speeding_interval_response_body.rb', line 25

def start_time
  @start_time
end

Class Method Details

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



59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
# File 'lib/samsara_api/types/speeding_interval_response_body.rb', line 59

def self.from_json(json_object:)
  struct = JSON.parse(json_object, object_class: OpenStruct)
  parsed_json = JSON.parse(json_object)
  end_time = parsed_json["endTime"]
  is_dismissed = parsed_json["isDismissed"]
  unless parsed_json["location"].nil?
    location = parsed_json["location"].to_json
    location = Samsara::Types::SpeedingIntervalLocationResponseResponseBody.from_json(json_object: location)
  else
    location = nil
  end
  max_speed_kilometers_per_hour = parsed_json["maxSpeedKilometersPerHour"]
  posted_speed_limit_kilometers_per_hour = parsed_json["postedSpeedLimitKilometersPerHour"]
  severity_level = parsed_json["severityLevel"]
  start_time = parsed_json["startTime"]
  new(
    end_time: end_time,
    is_dismissed: is_dismissed,
    location: location,
    max_speed_kilometers_per_hour: max_speed_kilometers_per_hour,
    posted_speed_limit_kilometers_per_hour: posted_speed_limit_kilometers_per_hour,
    severity_level: severity_level,
    start_time: start_time,
    additional_properties: struct
  )
end

.validate_raw(obj:) ⇒ Void



97
98
99
100
101
102
103
104
105
# File 'lib/samsara_api/types/speeding_interval_response_body.rb', line 97

def self.validate_raw(obj:)
  obj.end_time.is_a?(String) != false || raise("Passed value for field obj.end_time is not the expected type, validation failed.")
  obj.is_dismissed.is_a?(Boolean) != false || raise("Passed value for field obj.is_dismissed is not the expected type, validation failed.")
  Samsara::Types::SpeedingIntervalLocationResponseResponseBody.validate_raw(obj: obj.location)
  obj.max_speed_kilometers_per_hour.is_a?(Float) != false || raise("Passed value for field obj.max_speed_kilometers_per_hour is not the expected type, validation failed.")
  obj.posted_speed_limit_kilometers_per_hour.is_a?(Float) != false || raise("Passed value for field obj.posted_speed_limit_kilometers_per_hour is not the expected type, validation failed.")
  obj.severity_level.is_a?(Samsara::Types::SpeedingIntervalResponseBodySeverityLevel) != false || raise("Passed value for field obj.severity_level is not the expected type, validation failed.")
  obj.start_time.is_a?(String) != false || raise("Passed value for field obj.start_time is not the expected type, validation failed.")
end

Instance Method Details

#to_json ⇒ String



88
89
90
# File 'lib/samsara_api/types/speeding_interval_response_body.rb', line 88

def to_json
  @_field_set&.to_json
end