Class: Verizon::HeadingItem
- Defined in:
- lib/verizon/models/heading_item.rb
Overview
Heading limitation provides minimum and maximum value for road user heading in unit of degrees. If the road user’s heading value is between the given minimum and maximum value and the TriggerConditions are also met the message will be sent out. The heading minimum value can be bigger than the maximum value as negative number are not supported. For example, the +/- 10 degrees around the north (0 degrees) can be defined as 350 (min) to 10 (max) degrees.
Instance Attribute Summary collapse
-
#heading ⇒ Heading
TODO: Write general description for this method.
Class Method Summary collapse
-
.from_hash(hash) ⇒ Object
Creates an instance of the object from a hash.
-
.names ⇒ Object
A mapping from model property names to API property names.
-
.nullables ⇒ Object
An array for nullable fields.
-
.optionals ⇒ Object
An array for optional fields.
-
.validate(value) ⇒ Object
Validates an instance of the object from a given value.
Instance Method Summary collapse
-
#initialize(heading:, additional_properties: nil) ⇒ HeadingItem
constructor
A new instance of HeadingItem.
-
#inspect ⇒ Object
Provides a debugging-friendly string with detailed object information.
-
#to_s ⇒ Object
Provides a human-readable string representation of the object.
Methods inherited from BaseModel
#check_for_conflict, #process_additional_properties, #process_array, #process_basic_value, #process_hash, #to_hash, #to_json
Constructor Details
#initialize(heading:, additional_properties: nil) ⇒ HeadingItem
Returns a new instance of HeadingItem.
41 42 43 44 45 46 47 |
# File 'lib/verizon/models/heading_item.rb', line 41 def initialize(heading:, additional_properties: nil) # Add additional model properties to the instance additional_properties = {} if additional_properties.nil? @heading = heading @additional_properties = additional_properties end |
Instance Attribute Details
#heading ⇒ Heading
TODO: Write general description for this method
20 21 22 |
# File 'lib/verizon/models/heading_item.rb', line 20 def heading @heading end |
Class Method Details
.from_hash(hash) ⇒ Object
Creates an instance of the object from a hash.
50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/verizon/models/heading_item.rb', line 50 def self.from_hash(hash) return nil unless hash # Extract variables from the hash. heading = Heading.from_hash(hash['heading']) if hash['heading'] # Create a new hash for additional properties, removing known properties. new_hash = hash.reject { |k, _| names.value?(k) } additional_properties = APIHelper.get_additional_properties( new_hash, proc { |value| value } ) # Create object from extracted values. HeadingItem.new(heading: heading, additional_properties: additional_properties) end |
.names ⇒ Object
A mapping from model property names to API property names.
23 24 25 26 27 |
# File 'lib/verizon/models/heading_item.rb', line 23 def self.names @_hash = {} if @_hash.nil? @_hash['heading'] = 'heading' @_hash end |
.nullables ⇒ Object
An array for nullable fields
35 36 37 38 39 |
# File 'lib/verizon/models/heading_item.rb', line 35 def self.nullables %w[ heading ] end |
.optionals ⇒ Object
An array for optional fields
30 31 32 |
# File 'lib/verizon/models/heading_item.rb', line 30 def self.optionals [] end |
.validate(value) ⇒ Object
Validates an instance of the object from a given value.
70 71 72 73 74 75 76 77 78 79 80 81 82 |
# File 'lib/verizon/models/heading_item.rb', line 70 def self.validate(value) if value.instance_of? self return APIHelper.valid_type?(value.heading, ->(val) { Heading.validate(val) }, is_model_hash: true) end return false unless value.instance_of? Hash APIHelper.valid_type?(value['heading'], ->(val) { Heading.validate(val) }, is_model_hash: true) end |
Instance Method Details
#inspect ⇒ Object
Provides a debugging-friendly string with detailed object information.
91 92 93 94 95 |
# File 'lib/verizon/models/heading_item.rb', line 91 def inspect class_name = self.class.name.split('::').last "<#{class_name} heading: #{@heading.inspect}, additional_properties:"\ " #{@additional_properties}>" end |
#to_s ⇒ Object
Provides a human-readable string representation of the object.
85 86 87 88 |
# File 'lib/verizon/models/heading_item.rb', line 85 def to_s class_name = self.class.name.split('::').last "<#{class_name} heading: #{@heading}, additional_properties: #{@additional_properties}>" end |