Class: Verizon::Geolocation

Inherits:
BaseModel
  • Object
show all
Defined in:
lib/verizon/models/geolocation.rb

Overview

Geolocation of the device at the time of the connection request in GPS coordinates.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from BaseModel

#check_for_conflict, #process_additional_properties, #process_array, #process_basic_value, #process_hash, #to_hash, #to_json

Constructor Details

#initialize(latitude:, longitude:) ⇒ Geolocation

Returns a new instance of Geolocation.



39
40
41
42
# File 'lib/verizon/models/geolocation.rb', line 39

def initialize(latitude:, longitude:)
  @latitude = latitude
  @longitude = longitude
end

Instance Attribute Details

#latitudeFloat

The GPS Latitude value

Returns:

  • (Float)


15
16
17
# File 'lib/verizon/models/geolocation.rb', line 15

def latitude
  @latitude
end

#longitudeFloat

The GPS Longitude value

Returns:

  • (Float)


19
20
21
# File 'lib/verizon/models/geolocation.rb', line 19

def longitude
  @longitude
end

Class Method Details

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash.



45
46
47
48
49
50
51
52
53
54
55
# File 'lib/verizon/models/geolocation.rb', line 45

def self.from_hash(hash)
  return nil unless hash

  # Extract variables from the hash.
  latitude = hash.key?('Latitude') ? hash['Latitude'] : nil
  longitude = hash.key?('Longitude') ? hash['Longitude'] : nil

  # Create object from extracted values.
  Geolocation.new(latitude: latitude,
                  longitude: longitude)
end

.namesObject

A mapping from model property names to API property names.



22
23
24
25
26
27
# File 'lib/verizon/models/geolocation.rb', line 22

def self.names
  @_hash = {} if @_hash.nil?
  @_hash['latitude'] = 'Latitude'
  @_hash['longitude'] = 'Longitude'
  @_hash
end

.nullablesObject

An array for nullable fields



35
36
37
# File 'lib/verizon/models/geolocation.rb', line 35

def self.nullables
  []
end

.optionalsObject

An array for optional fields



30
31
32
# File 'lib/verizon/models/geolocation.rb', line 30

def self.optionals
  []
end

Instance Method Details

#inspectObject

Provides a debugging-friendly string with detailed object information.



64
65
66
67
# File 'lib/verizon/models/geolocation.rb', line 64

def inspect
  class_name = self.class.name.split('::').last
  "<#{class_name} latitude: #{@latitude.inspect}, longitude: #{@longitude.inspect}>"
end

#to_sObject

Provides a human-readable string representation of the object.



58
59
60
61
# File 'lib/verizon/models/geolocation.rb', line 58

def to_s
  class_name = self.class.name.split('::').last
  "<#{class_name} latitude: #{@latitude}, longitude: #{@longitude}>"
end