bandwidth-sdk 16.2.2 → 17.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +8 -8
  3. data/README.md +20 -7
  4. data/bandwidth.yml +551 -277
  5. data/coverage/.last_run.json +1 -1
  6. data/coverage/.resultset.json +197 -94
  7. data/coverage/index.html +2425 -1307
  8. data/docs/AsyncLookupRequest.md +18 -0
  9. data/docs/{LookupRequest.md → CompletedLookupStatusEnum.md} +2 -5
  10. data/docs/CreateAsyncBulkLookupResponse.md +22 -0
  11. data/docs/{CreateLookupResponse.md → CreateAsyncBulkLookupResponseData.md} +4 -4
  12. data/docs/CreateSyncLookupResponse.md +22 -0
  13. data/docs/CreateSyncLookupResponseData.md +22 -0
  14. data/docs/DeactivationEventEnum.md +15 -0
  15. data/docs/GetAsyncBulkLookupResponse.md +22 -0
  16. data/docs/GetAsyncBulkLookupResponseData.md +22 -0
  17. data/docs/InProgressLookupStatusEnum.md +15 -0
  18. data/docs/LatestMessageDeliveryStatusEnum.md +15 -0
  19. data/docs/{LookupStatusEnum.md → LineTypeEnum.md} +2 -2
  20. data/docs/LinkSchema.md +22 -0
  21. data/docs/LookupErrorResponse.md +22 -0
  22. data/docs/LookupErrorSchema.md +24 -0
  23. data/docs/LookupErrorSchemaMeta.md +22 -0
  24. data/docs/LookupResult.md +22 -18
  25. data/docs/PhoneNumberLookupApi.md +111 -38
  26. data/docs/RbmActionBase.md +1 -1
  27. data/docs/RbmSuggestionResponse.md +1 -1
  28. data/docs/SyncLookupRequest.md +18 -0
  29. data/lib/bandwidth-sdk/api/phone_number_lookup_api.rb +117 -47
  30. data/lib/bandwidth-sdk/configuration.rb +10 -4
  31. data/lib/bandwidth-sdk/models/async_lookup_request.rb +232 -0
  32. data/lib/bandwidth-sdk/models/completed_lookup_status_enum.rb +41 -0
  33. data/lib/bandwidth-sdk/models/create_async_bulk_lookup_response.rb +235 -0
  34. data/lib/bandwidth-sdk/models/{create_lookup_response.rb → create_async_bulk_lookup_response_data.rb} +5 -5
  35. data/lib/bandwidth-sdk/models/create_sync_lookup_response.rb +234 -0
  36. data/lib/bandwidth-sdk/models/{lookup_status.rb → create_sync_lookup_response_data.rb} +15 -27
  37. data/lib/bandwidth-sdk/models/deactivation_event_enum.rb +39 -0
  38. data/lib/bandwidth-sdk/models/get_async_bulk_lookup_response.rb +234 -0
  39. data/lib/bandwidth-sdk/models/get_async_bulk_lookup_response_data.rb +257 -0
  40. data/lib/bandwidth-sdk/models/{lookup_status_enum.rb → in_progress_lookup_status_enum.rb} +3 -3
  41. data/lib/bandwidth-sdk/models/latest_message_delivery_status_enum.rb +41 -0
  42. data/lib/bandwidth-sdk/models/line_type_enum.rb +42 -0
  43. data/lib/bandwidth-sdk/models/{lookup_request.rb → link_schema.rb} +31 -20
  44. data/lib/bandwidth-sdk/models/lookup_error_response.rb +235 -0
  45. data/lib/bandwidth-sdk/models/lookup_error_schema.rb +242 -0
  46. data/lib/bandwidth-sdk/models/{tn_lookup_request_error.rb → lookup_error_schema_meta.rb} +29 -8
  47. data/lib/bandwidth-sdk/models/lookup_result.rb +102 -63
  48. data/lib/bandwidth-sdk/models/sync_lookup_request.rb +232 -0
  49. data/lib/bandwidth-sdk/version.rb +1 -1
  50. data/lib/bandwidth-sdk.rb +17 -5
  51. data/spec/smoke/multi_channel_api_spec.rb +1 -1
  52. data/spec/smoke/phone_number_lookup_api_spec.rb +65 -70
  53. data/spec/unit/api/phone_number_lookup_api_spec.rb +71 -56
  54. metadata +36 -12
  55. data/docs/LookupStatus.md +0 -24
  56. data/docs/TnLookupRequestError.md +0 -18
@@ -0,0 +1,234 @@
1
+ =begin
2
+ #Bandwidth
3
+
4
+ #Bandwidth's Communication APIs
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+ Contact: letstalk@bandwidth.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.8.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Bandwidth
17
+ class GetAsyncBulkLookupResponse
18
+ attr_accessor :links
19
+
20
+ attr_accessor :data
21
+
22
+ attr_accessor :errors
23
+
24
+ # Attribute mapping from ruby-style variable name to JSON key.
25
+ def self.attribute_map
26
+ {
27
+ :'links' => :'links',
28
+ :'data' => :'data',
29
+ :'errors' => :'errors'
30
+ }
31
+ end
32
+
33
+ # Returns all the JSON keys this model knows about
34
+ def self.acceptable_attributes
35
+ attribute_map.values
36
+ end
37
+
38
+ # Attribute type mapping.
39
+ def self.openapi_types
40
+ {
41
+ :'links' => :'Array<LinkSchema>',
42
+ :'data' => :'GetAsyncBulkLookupResponseData',
43
+ :'errors' => :'Array<LookupErrorSchema>'
44
+ }
45
+ end
46
+
47
+ # List of attributes with nullable: true
48
+ def self.openapi_nullable
49
+ Set.new([
50
+ ])
51
+ end
52
+
53
+ # Initializes the object
54
+ # @param [Hash] attributes Model attributes in the form of hash
55
+ def initialize(attributes = {})
56
+ if (!attributes.is_a?(Hash))
57
+ fail ArgumentError, 'The input argument (attributes) must be a hash in `Bandwidth::GetAsyncBulkLookupResponse` initialize method'
58
+ end
59
+
60
+ # check to see if the attribute exists and convert string to symbol for hash key
61
+ attributes = attributes.each_with_object({}) { |(k, v), h|
62
+ if (!self.class.attribute_map.key?(k.to_sym))
63
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Bandwidth::GetAsyncBulkLookupResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
64
+ end
65
+ h[k.to_sym] = v
66
+ }
67
+
68
+ if attributes.key?(:'links')
69
+ if (value = attributes[:'links']).is_a?(Array)
70
+ self.links = value
71
+ end
72
+ end
73
+
74
+ if attributes.key?(:'data')
75
+ self.data = attributes[:'data']
76
+ end
77
+
78
+ if attributes.key?(:'errors')
79
+ if (value = attributes[:'errors']).is_a?(Array)
80
+ self.errors = value
81
+ end
82
+ end
83
+ end
84
+
85
+ # Show invalid properties with the reasons. Usually used together with valid?
86
+ # @return Array for valid properties with the reasons
87
+ def list_invalid_properties
88
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
89
+ invalid_properties = Array.new
90
+ invalid_properties
91
+ end
92
+
93
+ # Check to see if the all the properties in the model are valid
94
+ # @return true if the model is valid
95
+ def valid?
96
+ warn '[DEPRECATED] the `valid?` method is obsolete'
97
+ true
98
+ end
99
+
100
+ # Checks equality by comparing each attribute.
101
+ # @param [Object] Object to be compared
102
+ def ==(o)
103
+ return true if self.equal?(o)
104
+ self.class == o.class &&
105
+ links == o.links &&
106
+ data == o.data &&
107
+ errors == o.errors
108
+ end
109
+
110
+ # @see the `==` method
111
+ # @param [Object] Object to be compared
112
+ def eql?(o)
113
+ self == o
114
+ end
115
+
116
+ # Calculates hash code according to all attributes.
117
+ # @return [Integer] Hash code
118
+ def hash
119
+ [links, data, errors].hash
120
+ end
121
+
122
+ # Builds the object from hash
123
+ # @param [Hash] attributes Model attributes in the form of hash
124
+ # @return [Object] Returns the model itself
125
+ def self.build_from_hash(attributes)
126
+ return nil unless attributes.is_a?(Hash)
127
+ attributes = attributes.transform_keys(&:to_sym)
128
+ transformed_hash = {}
129
+ openapi_types.each_pair do |key, type|
130
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
131
+ transformed_hash["#{key}"] = nil
132
+ elsif type =~ /\AArray<(.*)>/i
133
+ # check to ensure the input is an array given that the attribute
134
+ # is documented as an array but the input is not
135
+ if attributes[attribute_map[key]].is_a?(Array)
136
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
137
+ end
138
+ elsif !attributes[attribute_map[key]].nil?
139
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
140
+ end
141
+ end
142
+ new(transformed_hash)
143
+ end
144
+
145
+ # Deserializes the data based on type
146
+ # @param string type Data type
147
+ # @param string value Value to be deserialized
148
+ # @return [Object] Deserialized data
149
+ def self._deserialize(type, value)
150
+ case type.to_sym
151
+ when :Time
152
+ Time.parse(value)
153
+ when :Date
154
+ Date.parse(value)
155
+ when :String
156
+ value.to_s
157
+ when :Integer
158
+ value.to_i
159
+ when :Float
160
+ value.to_f
161
+ when :Boolean
162
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
163
+ true
164
+ else
165
+ false
166
+ end
167
+ when :Object
168
+ # generic object (usually a Hash), return directly
169
+ value
170
+ when /\AArray<(?<inner_type>.+)>\z/
171
+ inner_type = Regexp.last_match[:inner_type]
172
+ value.map { |v| _deserialize(inner_type, v) }
173
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
174
+ k_type = Regexp.last_match[:k_type]
175
+ v_type = Regexp.last_match[:v_type]
176
+ {}.tap do |hash|
177
+ value.each do |k, v|
178
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
179
+ end
180
+ end
181
+ else # model
182
+ # models (e.g. Pet) or oneOf
183
+ klass = Bandwidth.const_get(type)
184
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
185
+ end
186
+ end
187
+
188
+ # Returns the string representation of the object
189
+ # @return [String] String presentation of the object
190
+ def to_s
191
+ to_hash.to_s
192
+ end
193
+
194
+ # to_body is an alias to to_hash (backward compatibility)
195
+ # @return [Hash] Returns the object in the form of hash
196
+ def to_body
197
+ to_hash
198
+ end
199
+
200
+ # Returns the object in the form of hash
201
+ # @return [Hash] Returns the object in the form of hash
202
+ def to_hash
203
+ hash = {}
204
+ self.class.attribute_map.each_pair do |attr, param|
205
+ value = self.send(attr)
206
+ if value.nil?
207
+ is_nullable = self.class.openapi_nullable.include?(attr)
208
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
209
+ end
210
+
211
+ hash[param] = _to_hash(value)
212
+ end
213
+ hash
214
+ end
215
+
216
+ # Outputs non-array value in the form of hash
217
+ # For object, use to_hash. Otherwise, just return the value
218
+ # @param [Object] value Any valid value
219
+ # @return [Hash] Returns the value in the form of hash
220
+ def _to_hash(value)
221
+ if value.is_a?(Array)
222
+ value.compact.map { |v| _to_hash(v) }
223
+ elsif value.is_a?(Hash)
224
+ {}.tap do |hash|
225
+ value.each { |k, v| hash[k] = _to_hash(v) }
226
+ end
227
+ elsif value.respond_to? :to_hash
228
+ value.to_hash
229
+ else
230
+ value
231
+ end
232
+ end
233
+ end
234
+ end
@@ -0,0 +1,257 @@
1
+ =begin
2
+ #Bandwidth
3
+
4
+ #Bandwidth's Communication APIs
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+ Contact: letstalk@bandwidth.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.8.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Bandwidth
17
+ # The phone number lookup response data
18
+ class GetAsyncBulkLookupResponseData
19
+ # The phone number lookup request ID from Bandwidth.
20
+ attr_accessor :request_id
21
+
22
+ attr_accessor :status
23
+
24
+ # The carrier information results for the specified telephone number.
25
+ attr_accessor :results
26
+
27
+ class EnumAttributeValidator
28
+ attr_reader :datatype
29
+ attr_reader :allowable_values
30
+
31
+ def initialize(datatype, allowable_values)
32
+ @allowable_values = allowable_values.map do |value|
33
+ case datatype.to_s
34
+ when /Integer/i
35
+ value.to_i
36
+ when /Float/i
37
+ value.to_f
38
+ else
39
+ value
40
+ end
41
+ end
42
+ end
43
+
44
+ def valid?(value)
45
+ !value || allowable_values.include?(value)
46
+ end
47
+ end
48
+
49
+ # Attribute mapping from ruby-style variable name to JSON key.
50
+ def self.attribute_map
51
+ {
52
+ :'request_id' => :'requestId',
53
+ :'status' => :'status',
54
+ :'results' => :'results'
55
+ }
56
+ end
57
+
58
+ # Returns all the JSON keys this model knows about
59
+ def self.acceptable_attributes
60
+ attribute_map.values
61
+ end
62
+
63
+ # Attribute type mapping.
64
+ def self.openapi_types
65
+ {
66
+ :'request_id' => :'String',
67
+ :'status' => :'InProgressLookupStatusEnum',
68
+ :'results' => :'Array<LookupResult>'
69
+ }
70
+ end
71
+
72
+ # List of attributes with nullable: true
73
+ def self.openapi_nullable
74
+ Set.new([
75
+ ])
76
+ end
77
+
78
+ # Initializes the object
79
+ # @param [Hash] attributes Model attributes in the form of hash
80
+ def initialize(attributes = {})
81
+ if (!attributes.is_a?(Hash))
82
+ fail ArgumentError, 'The input argument (attributes) must be a hash in `Bandwidth::GetAsyncBulkLookupResponseData` initialize method'
83
+ end
84
+
85
+ # check to see if the attribute exists and convert string to symbol for hash key
86
+ attributes = attributes.each_with_object({}) { |(k, v), h|
87
+ if (!self.class.attribute_map.key?(k.to_sym))
88
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Bandwidth::GetAsyncBulkLookupResponseData`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
89
+ end
90
+ h[k.to_sym] = v
91
+ }
92
+
93
+ if attributes.key?(:'request_id')
94
+ self.request_id = attributes[:'request_id']
95
+ end
96
+
97
+ if attributes.key?(:'status')
98
+ self.status = attributes[:'status']
99
+ end
100
+
101
+ if attributes.key?(:'results')
102
+ if (value = attributes[:'results']).is_a?(Array)
103
+ self.results = value
104
+ end
105
+ end
106
+ end
107
+
108
+ # Show invalid properties with the reasons. Usually used together with valid?
109
+ # @return Array for valid properties with the reasons
110
+ def list_invalid_properties
111
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
112
+ invalid_properties = Array.new
113
+ invalid_properties
114
+ end
115
+
116
+ # Check to see if the all the properties in the model are valid
117
+ # @return true if the model is valid
118
+ def valid?
119
+ warn '[DEPRECATED] the `valid?` method is obsolete'
120
+ true
121
+ end
122
+
123
+ # Checks equality by comparing each attribute.
124
+ # @param [Object] Object to be compared
125
+ def ==(o)
126
+ return true if self.equal?(o)
127
+ self.class == o.class &&
128
+ request_id == o.request_id &&
129
+ status == o.status &&
130
+ results == o.results
131
+ end
132
+
133
+ # @see the `==` method
134
+ # @param [Object] Object to be compared
135
+ def eql?(o)
136
+ self == o
137
+ end
138
+
139
+ # Calculates hash code according to all attributes.
140
+ # @return [Integer] Hash code
141
+ def hash
142
+ [request_id, status, results].hash
143
+ end
144
+
145
+ # Builds the object from hash
146
+ # @param [Hash] attributes Model attributes in the form of hash
147
+ # @return [Object] Returns the model itself
148
+ def self.build_from_hash(attributes)
149
+ return nil unless attributes.is_a?(Hash)
150
+ attributes = attributes.transform_keys(&:to_sym)
151
+ transformed_hash = {}
152
+ openapi_types.each_pair do |key, type|
153
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
154
+ transformed_hash["#{key}"] = nil
155
+ elsif type =~ /\AArray<(.*)>/i
156
+ # check to ensure the input is an array given that the attribute
157
+ # is documented as an array but the input is not
158
+ if attributes[attribute_map[key]].is_a?(Array)
159
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
160
+ end
161
+ elsif !attributes[attribute_map[key]].nil?
162
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
163
+ end
164
+ end
165
+ new(transformed_hash)
166
+ end
167
+
168
+ # Deserializes the data based on type
169
+ # @param string type Data type
170
+ # @param string value Value to be deserialized
171
+ # @return [Object] Deserialized data
172
+ def self._deserialize(type, value)
173
+ case type.to_sym
174
+ when :Time
175
+ Time.parse(value)
176
+ when :Date
177
+ Date.parse(value)
178
+ when :String
179
+ value.to_s
180
+ when :Integer
181
+ value.to_i
182
+ when :Float
183
+ value.to_f
184
+ when :Boolean
185
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
186
+ true
187
+ else
188
+ false
189
+ end
190
+ when :Object
191
+ # generic object (usually a Hash), return directly
192
+ value
193
+ when /\AArray<(?<inner_type>.+)>\z/
194
+ inner_type = Regexp.last_match[:inner_type]
195
+ value.map { |v| _deserialize(inner_type, v) }
196
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
197
+ k_type = Regexp.last_match[:k_type]
198
+ v_type = Regexp.last_match[:v_type]
199
+ {}.tap do |hash|
200
+ value.each do |k, v|
201
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
202
+ end
203
+ end
204
+ else # model
205
+ # models (e.g. Pet) or oneOf
206
+ klass = Bandwidth.const_get(type)
207
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
208
+ end
209
+ end
210
+
211
+ # Returns the string representation of the object
212
+ # @return [String] String presentation of the object
213
+ def to_s
214
+ to_hash.to_s
215
+ end
216
+
217
+ # to_body is an alias to to_hash (backward compatibility)
218
+ # @return [Hash] Returns the object in the form of hash
219
+ def to_body
220
+ to_hash
221
+ end
222
+
223
+ # Returns the object in the form of hash
224
+ # @return [Hash] Returns the object in the form of hash
225
+ def to_hash
226
+ hash = {}
227
+ self.class.attribute_map.each_pair do |attr, param|
228
+ value = self.send(attr)
229
+ if value.nil?
230
+ is_nullable = self.class.openapi_nullable.include?(attr)
231
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
232
+ end
233
+
234
+ hash[param] = _to_hash(value)
235
+ end
236
+ hash
237
+ end
238
+
239
+ # Outputs non-array value in the form of hash
240
+ # For object, use to_hash. Otherwise, just return the value
241
+ # @param [Object] value Any valid value
242
+ # @return [Hash] Returns the value in the form of hash
243
+ def _to_hash(value)
244
+ if value.is_a?(Array)
245
+ value.compact.map { |v| _to_hash(v) }
246
+ elsif value.is_a?(Hash)
247
+ {}.tap do |hash|
248
+ value.each { |k, v| hash[k] = _to_hash(v) }
249
+ end
250
+ elsif value.respond_to? :to_hash
251
+ value.to_hash
252
+ else
253
+ value
254
+ end
255
+ end
256
+ end
257
+ end
@@ -14,7 +14,7 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module Bandwidth
17
- class LookupStatusEnum
17
+ class InProgressLookupStatusEnum
18
18
  IN_PROGRESS = 'IN_PROGRESS'.freeze
19
19
  COMPLETE = 'COMPLETE'.freeze
20
20
  PARTIAL_COMPLETE = 'PARTIAL_COMPLETE'.freeze
@@ -35,8 +35,8 @@ module Bandwidth
35
35
  # @param [String] The enum value in the form of the string
36
36
  # @return [String] The enum value
37
37
  def build_from_hash(value)
38
- return value if LookupStatusEnum.all_vars.include?(value)
39
- raise "Invalid ENUM value #{value} for class #LookupStatusEnum"
38
+ return value if InProgressLookupStatusEnum.all_vars.include?(value)
39
+ raise "Invalid ENUM value #{value} for class #InProgressLookupStatusEnum"
40
40
  end
41
41
  end
42
42
  end
@@ -0,0 +1,41 @@
1
+ =begin
2
+ #Bandwidth
3
+
4
+ #Bandwidth's Communication APIs
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+ Contact: letstalk@bandwidth.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.8.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Bandwidth
17
+ class LatestMessageDeliveryStatusEnum
18
+ ACTIVE = 'ACTIVE'.freeze
19
+ DEACTIVATED = 'DEACTIVATED'.freeze
20
+ UNKNOWN = 'UNKNOWN'.freeze
21
+
22
+ def self.all_vars
23
+ @all_vars ||= [ACTIVE, DEACTIVATED, UNKNOWN].freeze
24
+ end
25
+
26
+ # Builds the enum from string
27
+ # @param [String] The enum value in the form of the string
28
+ # @return [String] The enum value
29
+ def self.build_from_hash(value)
30
+ new.build_from_hash(value)
31
+ end
32
+
33
+ # Builds the enum from string
34
+ # @param [String] The enum value in the form of the string
35
+ # @return [String] The enum value
36
+ def build_from_hash(value)
37
+ return value if LatestMessageDeliveryStatusEnum.all_vars.include?(value)
38
+ raise "Invalid ENUM value #{value} for class #LatestMessageDeliveryStatusEnum"
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,42 @@
1
+ =begin
2
+ #Bandwidth
3
+
4
+ #Bandwidth's Communication APIs
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+ Contact: letstalk@bandwidth.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.8.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Bandwidth
17
+ class LineTypeEnum
18
+ FIXED = 'FIXED'.freeze
19
+ VOIP_FIXED = 'VOIP-FIXED'.freeze
20
+ MOBILE = 'MOBILE'.freeze
21
+ VOIP = 'VOIP'.freeze
22
+
23
+ def self.all_vars
24
+ @all_vars ||= [FIXED, VOIP_FIXED, MOBILE, VOIP].freeze
25
+ end
26
+
27
+ # Builds the enum from string
28
+ # @param [String] The enum value in the form of the string
29
+ # @return [String] The enum value
30
+ def self.build_from_hash(value)
31
+ new.build_from_hash(value)
32
+ end
33
+
34
+ # Builds the enum from string
35
+ # @param [String] The enum value in the form of the string
36
+ # @return [String] The enum value
37
+ def build_from_hash(value)
38
+ return value if LineTypeEnum.all_vars.include?(value)
39
+ raise "Invalid ENUM value #{value} for class #LineTypeEnum"
40
+ end
41
+ end
42
+ end
@@ -14,14 +14,22 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module Bandwidth
17
- # Create phone number lookup request.
18
- class LookupRequest
19
- attr_accessor :tns
17
+ class LinkSchema
18
+ # URI of the link.
19
+ attr_accessor :href
20
+
21
+ # Specifies the relationship between this link and the resource.
22
+ attr_accessor :rel
23
+
24
+ # HTTP method to be used.
25
+ attr_accessor :method
20
26
 
21
27
  # Attribute mapping from ruby-style variable name to JSON key.
22
28
  def self.attribute_map
23
29
  {
24
- :'tns' => :'tns'
30
+ :'href' => :'href',
31
+ :'rel' => :'rel',
32
+ :'method' => :'method'
25
33
  }
26
34
  end
27
35
 
@@ -33,7 +41,9 @@ module Bandwidth
33
41
  # Attribute type mapping.
34
42
  def self.openapi_types
35
43
  {
36
- :'tns' => :'Array<String>'
44
+ :'href' => :'String',
45
+ :'rel' => :'String',
46
+ :'method' => :'String'
37
47
  }
38
48
  end
39
49
 
@@ -47,23 +57,27 @@ module Bandwidth
47
57
  # @param [Hash] attributes Model attributes in the form of hash
48
58
  def initialize(attributes = {})
49
59
  if (!attributes.is_a?(Hash))
50
- fail ArgumentError, 'The input argument (attributes) must be a hash in `Bandwidth::LookupRequest` initialize method'
60
+ fail ArgumentError, 'The input argument (attributes) must be a hash in `Bandwidth::LinkSchema` initialize method'
51
61
  end
52
62
 
53
63
  # check to see if the attribute exists and convert string to symbol for hash key
54
64
  attributes = attributes.each_with_object({}) { |(k, v), h|
55
65
  if (!self.class.attribute_map.key?(k.to_sym))
56
- fail ArgumentError, "`#{k}` is not a valid attribute in `Bandwidth::LookupRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
66
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Bandwidth::LinkSchema`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
57
67
  end
58
68
  h[k.to_sym] = v
59
69
  }
60
70
 
61
- if attributes.key?(:'tns')
62
- if (value = attributes[:'tns']).is_a?(Array)
63
- self.tns = value
64
- end
65
- else
66
- self.tns = nil
71
+ if attributes.key?(:'href')
72
+ self.href = attributes[:'href']
73
+ end
74
+
75
+ if attributes.key?(:'rel')
76
+ self.rel = attributes[:'rel']
77
+ end
78
+
79
+ if attributes.key?(:'method')
80
+ self.method = attributes[:'method']
67
81
  end
68
82
  end
69
83
 
@@ -72,10 +86,6 @@ module Bandwidth
72
86
  def list_invalid_properties
73
87
  warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
74
88
  invalid_properties = Array.new
75
- if @tns.nil?
76
- invalid_properties.push('invalid value for "tns", tns cannot be nil.')
77
- end
78
-
79
89
  invalid_properties
80
90
  end
81
91
 
@@ -83,7 +93,6 @@ module Bandwidth
83
93
  # @return true if the model is valid
84
94
  def valid?
85
95
  warn '[DEPRECATED] the `valid?` method is obsolete'
86
- return false if @tns.nil?
87
96
  true
88
97
  end
89
98
 
@@ -92,7 +101,9 @@ module Bandwidth
92
101
  def ==(o)
93
102
  return true if self.equal?(o)
94
103
  self.class == o.class &&
95
- tns == o.tns
104
+ href == o.href &&
105
+ rel == o.rel &&
106
+ method == o.method
96
107
  end
97
108
 
98
109
  # @see the `==` method
@@ -104,7 +115,7 @@ module Bandwidth
104
115
  # Calculates hash code according to all attributes.
105
116
  # @return [Integer] Hash code
106
117
  def hash
107
- [tns].hash
118
+ [href, rel, method].hash
108
119
  end
109
120
 
110
121
  # Builds the object from hash