Class: Verizon::GeoFenceConfigurationResponse
- Inherits:
-
BaseModel
- Object
- CoreLibrary::BaseModel
- BaseModel
- Verizon::GeoFenceConfigurationResponse
- Defined in:
- lib/verizon/models/geo_fence_configuration_response.rb
Overview
Response for /api/v1/application/configurations/geofence endpoint. It provides a response if the configuration was created and saved in the system.
Instance Attribute Summary collapse
-
#description ⇒ String
Description of the configuration.
-
#geo_fence ⇒ EtxGeofence
The GeoJSON representation of geofence.
-
#id ⇒ String
The generated ID (UUID v4) for the configuration.
-
#is_active ⇒ TrueClass | FalseClass
List of predefined messages that belongs to the geofence.
-
#messages ⇒ Array[Object]
List of predefined messages that belongs to the geofence.
-
#name ⇒ String
Name of the configuration.
-
#vendor_id ⇒ String
The vendor that the configuration belongs to.
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(id:, vendor_id:, geo_fence:, messages:, is_active:, name: SKIP, description: SKIP) ⇒ GeoFenceConfigurationResponse
constructor
A new instance of GeoFenceConfigurationResponse.
-
#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(id:, vendor_id:, geo_fence:, messages:, is_active:, name: SKIP, description: SKIP) ⇒ GeoFenceConfigurationResponse
Returns a new instance of GeoFenceConfigurationResponse.
77 78 79 80 81 82 83 84 85 86 |
# File 'lib/verizon/models/geo_fence_configuration_response.rb', line 77 def initialize(id:, vendor_id:, geo_fence:, messages:, is_active:, name: SKIP, description: SKIP) @id = id @vendor_id = vendor_id @name = name unless name == SKIP @description = description unless description == SKIP @geo_fence = geo_fence @messages = @is_active = is_active end |
Instance Attribute Details
#description ⇒ String
Description of the configuration.
29 30 31 |
# File 'lib/verizon/models/geo_fence_configuration_response.rb', line 29 def description @description end |
#geo_fence ⇒ EtxGeofence
The GeoJSON representation of geofence. Geofence supports the following geometry types: LineString, Polygon, MultiLineString, and MultiPolygon. The system only supports a single Feature in the FeatureCollection, so only one Line, Polygon, MultiLine or MultiPolygon can be defined within one Geofencing configuration.
37 38 39 |
# File 'lib/verizon/models/geo_fence_configuration_response.rb', line 37 def geo_fence @geo_fence end |
#id ⇒ String
The generated ID (UUID v4) for the configuration. It has to be used when asking for changing any of the configuration parameters.
17 18 19 |
# File 'lib/verizon/models/geo_fence_configuration_response.rb', line 17 def id @id end |
#is_active ⇒ TrueClass | FalseClass
List of predefined messages that belongs to the geofence. These are the messages that are sent out by the system when the Trigger Condition for the message is met.
49 50 51 |
# File 'lib/verizon/models/geo_fence_configuration_response.rb', line 49 def is_active @is_active end |
#messages ⇒ Array[Object]
List of predefined messages that belongs to the geofence. These are the messages that are sent out by the system when the Trigger Condition for the message is met.
43 44 45 |
# File 'lib/verizon/models/geo_fence_configuration_response.rb', line 43 def @messages end |
#name ⇒ String
Name of the configuration.
25 26 27 |
# File 'lib/verizon/models/geo_fence_configuration_response.rb', line 25 def name @name end |
#vendor_id ⇒ String
The vendor that the configuration belongs to. E.g. Verizon, GM, Ford, etc.
21 22 23 |
# File 'lib/verizon/models/geo_fence_configuration_response.rb', line 21 def vendor_id @vendor_id end |
Class Method Details
.from_hash(hash) ⇒ Object
Creates an instance of the object from a hash.
89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 |
# File 'lib/verizon/models/geo_fence_configuration_response.rb', line 89 def self.from_hash(hash) return nil unless hash # Extract variables from the hash. id = hash.key?('id') ? hash['id'] : nil vendor_id = hash.key?('vendorId') ? hash['vendorId'] : nil geo_fence = EtxGeofence.from_hash(hash['geoFence']) if hash['geoFence'] = hash.key?('messages') ? APIHelper.deserialize_union_type( UnionTypeLookUp.get(:Message3), hash['messages'] ) : nil is_active = hash.key?('isActive') ? hash['isActive'] : nil name = hash.key?('name') ? hash['name'] : SKIP description = hash.key?('description') ? hash['description'] : SKIP # Create object from extracted values. GeoFenceConfigurationResponse.new(id: id, vendor_id: vendor_id, geo_fence: geo_fence, messages: , is_active: is_active, name: name, description: description) end |
.names ⇒ Object
A mapping from model property names to API property names.
52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/verizon/models/geo_fence_configuration_response.rb', line 52 def self.names @_hash = {} if @_hash.nil? @_hash['id'] = 'id' @_hash['vendor_id'] = 'vendorId' @_hash['name'] = 'name' @_hash['description'] = 'description' @_hash['geo_fence'] = 'geoFence' @_hash['messages'] = 'messages' @_hash['is_active'] = 'isActive' @_hash end |
.nullables ⇒ Object
An array for nullable fields
73 74 75 |
# File 'lib/verizon/models/geo_fence_configuration_response.rb', line 73 def self.nullables [] end |
.optionals ⇒ Object
An array for optional fields
65 66 67 68 69 70 |
# File 'lib/verizon/models/geo_fence_configuration_response.rb', line 65 def self.optionals %w[ name description ] end |
.validate(value) ⇒ Object
Validates an instance of the object from a given value.
115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 |
# File 'lib/verizon/models/geo_fence_configuration_response.rb', line 115 def self.validate(value) if value.instance_of? self return ( APIHelper.valid_type?(value.id, ->(val) { val.instance_of? String }) and APIHelper.valid_type?(value.vendor_id, ->(val) { val.instance_of? String }) and APIHelper.valid_type?(value.geo_fence, ->(val) { EtxGeofence.validate(val) }, is_model_hash: true) and UnionTypeLookUp.get(:Message3) .validate(value.) and APIHelper.valid_type?(value.is_active, ->(val) { val.instance_of? TrueClass or val.instance_of? FalseClass }) ) end return false unless value.instance_of? Hash ( APIHelper.valid_type?(value['id'], ->(val) { val.instance_of? String }) and APIHelper.valid_type?(value['vendorId'], ->(val) { val.instance_of? String }) and APIHelper.valid_type?(value['geoFence'], ->(val) { EtxGeofence.validate(val) }, is_model_hash: true) and UnionTypeLookUp.get(:Message3) .validate(value['messages']) and APIHelper.valid_type?(value['isActive'], ->(val) { val.instance_of? TrueClass or val.instance_of? FalseClass }) ) end |
Instance Method Details
#inspect ⇒ Object
Provides a debugging-friendly string with detailed object information.
158 159 160 161 162 163 |
# File 'lib/verizon/models/geo_fence_configuration_response.rb', line 158 def inspect class_name = self.class.name.split('::').last "<#{class_name} id: #{@id.inspect}, vendor_id: #{@vendor_id.inspect}, name:"\ " #{@name.inspect}, description: #{@description.inspect}, geo_fence: #{@geo_fence.inspect},"\ " messages: #{@messages.inspect}, is_active: #{@is_active.inspect}>" end |
#to_s ⇒ Object
Provides a human-readable string representation of the object.
150 151 152 153 154 155 |
# File 'lib/verizon/models/geo_fence_configuration_response.rb', line 150 def to_s class_name = self.class.name.split('::').last "<#{class_name} id: #{@id}, vendor_id: #{@vendor_id}, name: #{@name}, description:"\ " #{@description}, geo_fence: #{@geo_fence}, messages: #{@messages}, is_active:"\ " #{@is_active}>" end |