Class: UspsApi::OverpassDetails

Inherits:
BaseModel
  • Object
show all
Defined in:
lib/usps_api/models/overpass_details.rb

Overview

The number of overpasses and the lowest overpass height between the facility and the highway exit.

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(number_of_overpasses: SKIP, lowest_overpass: SKIP, additional_properties: nil) ⇒ OverpassDetails

Returns a new instance of OverpassDetails.



43
44
45
46
47
48
49
50
51
# File 'lib/usps_api/models/overpass_details.rb', line 43

def initialize(number_of_overpasses: SKIP, lowest_overpass: SKIP,
               additional_properties: nil)
  # Add additional model properties to the instance
  additional_properties = {} if additional_properties.nil?

  @number_of_overpasses = number_of_overpasses unless number_of_overpasses == SKIP
  @lowest_overpass = lowest_overpass unless lowest_overpass == SKIP
  @additional_properties = additional_properties
end

Instance Attribute Details

#lowest_overpassInteger

The lowest overpass height between the facility and highway exit (in feet).

Returns:

  • (Integer)


20
21
22
# File 'lib/usps_api/models/overpass_details.rb', line 20

def lowest_overpass
  @lowest_overpass
end

#number_of_overpassesInteger

the number of overpasses between the facility and the highway exit.

Returns:

  • (Integer)


15
16
17
# File 'lib/usps_api/models/overpass_details.rb', line 15

def number_of_overpasses
  @number_of_overpasses
end

Class Method Details

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash.



54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# File 'lib/usps_api/models/overpass_details.rb', line 54

def self.from_hash(hash)
  return nil unless hash

  # Extract variables from the hash.
  number_of_overpasses =
    hash.key?('numberOfOverpasses') ? hash['numberOfOverpasses'] : SKIP
  lowest_overpass =
    hash.key?('lowestOverpass') ? hash['lowestOverpass'] : SKIP

  # 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.
  OverpassDetails.new(number_of_overpasses: number_of_overpasses,
                      lowest_overpass: lowest_overpass,
                      additional_properties: additional_properties)
end

.namesObject

A mapping from model property names to API property names.



23
24
25
26
27
28
# File 'lib/usps_api/models/overpass_details.rb', line 23

def self.names
  @_hash = {} if @_hash.nil?
  @_hash['number_of_overpasses'] = 'numberOfOverpasses'
  @_hash['lowest_overpass'] = 'lowestOverpass'
  @_hash
end

.nullablesObject

An array for nullable fields



39
40
41
# File 'lib/usps_api/models/overpass_details.rb', line 39

def self.nullables
  []
end

.optionalsObject

An array for optional fields



31
32
33
34
35
36
# File 'lib/usps_api/models/overpass_details.rb', line 31

def self.optionals
  %w[
    number_of_overpasses
    lowest_overpass
  ]
end

Instance Method Details

#inspectObject

Provides a debugging-friendly string with detailed object information.



84
85
86
87
88
# File 'lib/usps_api/models/overpass_details.rb', line 84

def inspect
  class_name = self.class.name.split('::').last
  "<#{class_name} number_of_overpasses: #{@number_of_overpasses.inspect}, lowest_overpass:"\
  " #{@lowest_overpass.inspect}, additional_properties: #{@additional_properties}>"
end

#to_sObject

Provides a human-readable string representation of the object.



77
78
79
80
81
# File 'lib/usps_api/models/overpass_details.rb', line 77

def to_s
  class_name = self.class.name.split('::').last
  "<#{class_name} number_of_overpasses: #{@number_of_overpasses}, lowest_overpass:"\
  " #{@lowest_overpass}, additional_properties: #{@additional_properties}>"
end