pingram 1.0.17 → 1.0.18

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 (30) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/lib/pingram/api/account_api.rb +95 -26
  4. data/lib/pingram/api/members_api.rb +10 -10
  5. data/lib/pingram/api_client.rb +1 -1
  6. data/lib/pingram/client_wrapper.rb +0 -10
  7. data/lib/pingram/models/account_get_response.rb +216 -29
  8. data/lib/pingram/models/auto_join_get_response.rb +16 -16
  9. data/lib/pingram/models/auto_join_post_response.rb +16 -16
  10. data/lib/pingram/models/billing_post_response_body.rb +35 -68
  11. data/lib/pingram/models/{create_organization_request.rb → brand_webhook_response.rb} +28 -13
  12. data/lib/pingram/models/get_members_response_inner.rb +1 -27
  13. data/lib/pingram/models/get_usage_history_query.rb +1 -1
  14. data/lib/pingram/models/{organization_usage_history.rb → get_usage_history_response.rb} +5 -5
  15. data/lib/pingram/models/{organization_usage_history_items_inner.rb → get_usage_history_response_items_inner.rb} +4 -4
  16. data/lib/pingram/models/{organization_usage_history_items_inner_counts.rb → get_usage_history_response_items_inner_counts.rb} +3 -3
  17. data/lib/pingram/models/{organization_usage.rb → get_usage_response.rb} +6 -6
  18. data/lib/pingram/models/{organization_usage_costs.rb → get_usage_response_costs.rb} +3 -3
  19. data/lib/pingram/models/{organization_usage_counts.rb → get_usage_response_counts.rb} +3 -3
  20. data/lib/pingram/models/sender_post_body_options_email.rb +4 -14
  21. data/lib/pingram/models/ten_dlc_brand_create_request.rb +19 -1
  22. data/lib/pingram/models/ten_dlc_brand_registration.rb +19 -1
  23. data/lib/pingram/models/ten_dlc_brand_registration_details.rb +599 -0
  24. data/lib/pingram/models/ten_dlc_brand_update_request.rb +92 -1
  25. data/lib/pingram/version.rb +1 -1
  26. data/lib/pingram.rb +8 -10
  27. metadata +10 -12
  28. data/lib/pingram/api/organization_api.rb +0 -212
  29. data/lib/pingram/models/create_organization_response.rb +0 -216
  30. data/lib/pingram/models/organization.rb +0 -463
@@ -1,216 +0,0 @@
1
- =begin
2
- #Pingram
3
-
4
- #Internal API for notification delivery and management
5
-
6
- The version of the OpenAPI document: 1.0.0
7
-
8
- Generated by: https://openapi-generator.tech
9
- Generator version: 7.19.0
10
-
11
- =end
12
-
13
- require 'date'
14
- require 'time'
15
-
16
- module Pingram
17
- class CreateOrganizationResponse < ApiModelBase
18
- attr_accessor :success
19
-
20
- attr_accessor :account_id
21
-
22
- attr_accessor :organization_id
23
-
24
- # Attribute mapping from ruby-style variable name to JSON key.
25
- def self.attribute_map
26
- {
27
- :'success' => :'success',
28
- :'account_id' => :'accountId',
29
- :'organization_id' => :'organizationId'
30
- }
31
- end
32
-
33
- # Returns attribute mapping this model knows about
34
- def self.acceptable_attribute_map
35
- attribute_map
36
- end
37
-
38
- # Returns all the JSON keys this model knows about
39
- def self.acceptable_attributes
40
- acceptable_attribute_map.values
41
- end
42
-
43
- # Attribute type mapping.
44
- def self.openapi_types
45
- {
46
- :'success' => :'Boolean',
47
- :'account_id' => :'String',
48
- :'organization_id' => :'String'
49
- }
50
- end
51
-
52
- # List of attributes with nullable: true
53
- def self.openapi_nullable
54
- Set.new([
55
- ])
56
- end
57
-
58
- # Initializes the object
59
- # @param [Hash] attributes Model attributes in the form of hash
60
- def initialize(attributes = {})
61
- if (!attributes.is_a?(Hash))
62
- fail ArgumentError, "The input argument (attributes) must be a hash in `Pingram::CreateOrganizationResponse` initialize method"
63
- end
64
-
65
- # check to see if the attribute exists and convert string to symbol for hash key
66
- acceptable_attribute_map = self.class.acceptable_attribute_map
67
- attributes = attributes.each_with_object({}) { |(k, v), h|
68
- if (!acceptable_attribute_map.key?(k.to_sym))
69
- fail ArgumentError, "`#{k}` is not a valid attribute in `Pingram::CreateOrganizationResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
70
- end
71
- h[k.to_sym] = v
72
- }
73
-
74
- if attributes.key?(:'success')
75
- self.success = attributes[:'success']
76
- else
77
- self.success = nil
78
- end
79
-
80
- if attributes.key?(:'account_id')
81
- self.account_id = attributes[:'account_id']
82
- else
83
- self.account_id = nil
84
- end
85
-
86
- if attributes.key?(:'organization_id')
87
- self.organization_id = attributes[:'organization_id']
88
- else
89
- self.organization_id = nil
90
- end
91
- end
92
-
93
- # Show invalid properties with the reasons. Usually used together with valid?
94
- # @return Array for valid properties with the reasons
95
- def list_invalid_properties
96
- warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
97
- invalid_properties = Array.new
98
- if @success.nil?
99
- invalid_properties.push('invalid value for "success", success cannot be nil.')
100
- end
101
-
102
- if @account_id.nil?
103
- invalid_properties.push('invalid value for "account_id", account_id cannot be nil.')
104
- end
105
-
106
- if @organization_id.nil?
107
- invalid_properties.push('invalid value for "organization_id", organization_id cannot be nil.')
108
- end
109
-
110
- invalid_properties
111
- end
112
-
113
- # Check to see if the all the properties in the model are valid
114
- # @return true if the model is valid
115
- def valid?
116
- warn '[DEPRECATED] the `valid?` method is obsolete'
117
- return false if @success.nil?
118
- return false if @account_id.nil?
119
- return false if @organization_id.nil?
120
- true
121
- end
122
-
123
- # Custom attribute writer method with validation
124
- # @param [Object] success Value to be assigned
125
- def success=(success)
126
- if success.nil?
127
- fail ArgumentError, 'success cannot be nil'
128
- end
129
-
130
- @success = success
131
- end
132
-
133
- # Custom attribute writer method with validation
134
- # @param [Object] account_id Value to be assigned
135
- def account_id=(account_id)
136
- if account_id.nil?
137
- fail ArgumentError, 'account_id cannot be nil'
138
- end
139
-
140
- @account_id = account_id
141
- end
142
-
143
- # Custom attribute writer method with validation
144
- # @param [Object] organization_id Value to be assigned
145
- def organization_id=(organization_id)
146
- if organization_id.nil?
147
- fail ArgumentError, 'organization_id cannot be nil'
148
- end
149
-
150
- @organization_id = organization_id
151
- end
152
-
153
- # Checks equality by comparing each attribute.
154
- # @param [Object] Object to be compared
155
- def ==(o)
156
- return true if self.equal?(o)
157
- self.class == o.class &&
158
- success == o.success &&
159
- account_id == o.account_id &&
160
- organization_id == o.organization_id
161
- end
162
-
163
- # @see the `==` method
164
- # @param [Object] Object to be compared
165
- def eql?(o)
166
- self == o
167
- end
168
-
169
- # Calculates hash code according to all attributes.
170
- # @return [Integer] Hash code
171
- def hash
172
- [success, account_id, organization_id].hash
173
- end
174
-
175
- # Builds the object from hash
176
- # @param [Hash] attributes Model attributes in the form of hash
177
- # @return [Object] Returns the model itself
178
- def self.build_from_hash(attributes)
179
- return nil unless attributes.is_a?(Hash)
180
- attributes = attributes.transform_keys(&:to_sym)
181
- transformed_hash = {}
182
- openapi_types.each_pair do |key, type|
183
- if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
184
- transformed_hash["#{key}"] = nil
185
- elsif type =~ /\AArray<(.*)>/i
186
- # check to ensure the input is an array given that the attribute
187
- # is documented as an array but the input is not
188
- if attributes[attribute_map[key]].is_a?(Array)
189
- transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
190
- end
191
- elsif !attributes[attribute_map[key]].nil?
192
- transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
193
- end
194
- end
195
- new(transformed_hash)
196
- end
197
-
198
- # Returns the object in the form of hash
199
- # @return [Hash] Returns the object in the form of hash
200
- def to_hash
201
- hash = {}
202
- self.class.attribute_map.each_pair do |attr, param|
203
- value = self.send(attr)
204
- if value.nil?
205
- is_nullable = self.class.openapi_nullable.include?(attr)
206
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
207
- end
208
-
209
- hash[param] = _to_hash(value)
210
- end
211
- hash
212
- end
213
-
214
- end
215
-
216
- end
@@ -1,463 +0,0 @@
1
- =begin
2
- #Pingram
3
-
4
- #Internal API for notification delivery and management
5
-
6
- The version of the OpenAPI document: 1.0.0
7
-
8
- Generated by: https://openapi-generator.tech
9
- Generator version: 7.19.0
10
-
11
- =end
12
-
13
- require 'date'
14
- require 'time'
15
-
16
- module Pingram
17
- # Organization details for the authenticated account: identifiers, billing-cycle dates, usage caps (messages, SMS, calls, cost), and timestamps. Returned by GET /account/organization.
18
- class Organization < ApiModelBase
19
- attr_accessor :organization_id
20
-
21
- attr_accessor :organization_type
22
-
23
- attr_accessor :creator
24
-
25
- attr_accessor :name
26
-
27
- attr_accessor :messages_cap
28
-
29
- attr_accessor :cost_cap
30
-
31
- attr_accessor :sms_cap
32
-
33
- attr_accessor :call_cap
34
-
35
- attr_accessor :billing_version
36
-
37
- # ISO date (YYYY-MM-DD) when the billing cycle resets.
38
- attr_accessor :anniversary_date
39
-
40
- attr_accessor :allow_overage
41
-
42
- attr_accessor :created_at
43
-
44
- attr_accessor :updated_at
45
-
46
- class EnumAttributeValidator
47
- attr_reader :datatype
48
- attr_reader :allowable_values
49
-
50
- def initialize(datatype, allowable_values)
51
- @allowable_values = allowable_values.map do |value|
52
- case datatype.to_s
53
- when /Integer/i
54
- value.to_i
55
- when /Float/i
56
- value.to_f
57
- else
58
- value
59
- end
60
- end
61
- end
62
-
63
- def valid?(value)
64
- !value || allowable_values.include?(value)
65
- end
66
- end
67
-
68
- # Attribute mapping from ruby-style variable name to JSON key.
69
- def self.attribute_map
70
- {
71
- :'organization_id' => :'organizationId',
72
- :'organization_type' => :'organizationType',
73
- :'creator' => :'creator',
74
- :'name' => :'name',
75
- :'messages_cap' => :'messagesCap',
76
- :'cost_cap' => :'costCap',
77
- :'sms_cap' => :'smsCap',
78
- :'call_cap' => :'callCap',
79
- :'billing_version' => :'billingVersion',
80
- :'anniversary_date' => :'anniversaryDate',
81
- :'allow_overage' => :'allowOverage',
82
- :'created_at' => :'createdAt',
83
- :'updated_at' => :'updatedAt'
84
- }
85
- end
86
-
87
- # Returns attribute mapping this model knows about
88
- def self.acceptable_attribute_map
89
- attribute_map
90
- end
91
-
92
- # Returns all the JSON keys this model knows about
93
- def self.acceptable_attributes
94
- acceptable_attribute_map.values
95
- end
96
-
97
- # Attribute type mapping.
98
- def self.openapi_types
99
- {
100
- :'organization_id' => :'String',
101
- :'organization_type' => :'String',
102
- :'creator' => :'String',
103
- :'name' => :'String',
104
- :'messages_cap' => :'Float',
105
- :'cost_cap' => :'Float',
106
- :'sms_cap' => :'Float',
107
- :'call_cap' => :'Float',
108
- :'billing_version' => :'Float',
109
- :'anniversary_date' => :'String',
110
- :'allow_overage' => :'Boolean',
111
- :'created_at' => :'String',
112
- :'updated_at' => :'String'
113
- }
114
- end
115
-
116
- # List of attributes with nullable: true
117
- def self.openapi_nullable
118
- Set.new([
119
- ])
120
- end
121
-
122
- # Initializes the object
123
- # @param [Hash] attributes Model attributes in the form of hash
124
- def initialize(attributes = {})
125
- if (!attributes.is_a?(Hash))
126
- fail ArgumentError, "The input argument (attributes) must be a hash in `Pingram::Organization` initialize method"
127
- end
128
-
129
- # check to see if the attribute exists and convert string to symbol for hash key
130
- acceptable_attribute_map = self.class.acceptable_attribute_map
131
- attributes = attributes.each_with_object({}) { |(k, v), h|
132
- if (!acceptable_attribute_map.key?(k.to_sym))
133
- fail ArgumentError, "`#{k}` is not a valid attribute in `Pingram::Organization`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
134
- end
135
- h[k.to_sym] = v
136
- }
137
-
138
- if attributes.key?(:'organization_id')
139
- self.organization_id = attributes[:'organization_id']
140
- else
141
- self.organization_id = nil
142
- end
143
-
144
- if attributes.key?(:'organization_type')
145
- self.organization_type = attributes[:'organization_type']
146
- else
147
- self.organization_type = nil
148
- end
149
-
150
- if attributes.key?(:'creator')
151
- self.creator = attributes[:'creator']
152
- else
153
- self.creator = nil
154
- end
155
-
156
- if attributes.key?(:'name')
157
- self.name = attributes[:'name']
158
- else
159
- self.name = nil
160
- end
161
-
162
- if attributes.key?(:'messages_cap')
163
- self.messages_cap = attributes[:'messages_cap']
164
- else
165
- self.messages_cap = nil
166
- end
167
-
168
- if attributes.key?(:'cost_cap')
169
- self.cost_cap = attributes[:'cost_cap']
170
- else
171
- self.cost_cap = nil
172
- end
173
-
174
- if attributes.key?(:'sms_cap')
175
- self.sms_cap = attributes[:'sms_cap']
176
- end
177
-
178
- if attributes.key?(:'call_cap')
179
- self.call_cap = attributes[:'call_cap']
180
- end
181
-
182
- if attributes.key?(:'billing_version')
183
- self.billing_version = attributes[:'billing_version']
184
- end
185
-
186
- if attributes.key?(:'anniversary_date')
187
- self.anniversary_date = attributes[:'anniversary_date']
188
- else
189
- self.anniversary_date = nil
190
- end
191
-
192
- if attributes.key?(:'allow_overage')
193
- self.allow_overage = attributes[:'allow_overage']
194
- else
195
- self.allow_overage = nil
196
- end
197
-
198
- if attributes.key?(:'created_at')
199
- self.created_at = attributes[:'created_at']
200
- else
201
- self.created_at = nil
202
- end
203
-
204
- if attributes.key?(:'updated_at')
205
- self.updated_at = attributes[:'updated_at']
206
- else
207
- self.updated_at = nil
208
- end
209
- end
210
-
211
- # Show invalid properties with the reasons. Usually used together with valid?
212
- # @return Array for valid properties with the reasons
213
- def list_invalid_properties
214
- warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
215
- invalid_properties = Array.new
216
- if @organization_id.nil?
217
- invalid_properties.push('invalid value for "organization_id", organization_id cannot be nil.')
218
- end
219
-
220
- if @organization_type.nil?
221
- invalid_properties.push('invalid value for "organization_type", organization_type cannot be nil.')
222
- end
223
-
224
- if @creator.nil?
225
- invalid_properties.push('invalid value for "creator", creator cannot be nil.')
226
- end
227
-
228
- if @name.nil?
229
- invalid_properties.push('invalid value for "name", name cannot be nil.')
230
- end
231
-
232
- if @messages_cap.nil?
233
- invalid_properties.push('invalid value for "messages_cap", messages_cap cannot be nil.')
234
- end
235
-
236
- if @cost_cap.nil?
237
- invalid_properties.push('invalid value for "cost_cap", cost_cap cannot be nil.')
238
- end
239
-
240
- if @anniversary_date.nil?
241
- invalid_properties.push('invalid value for "anniversary_date", anniversary_date cannot be nil.')
242
- end
243
-
244
- if @allow_overage.nil?
245
- invalid_properties.push('invalid value for "allow_overage", allow_overage cannot be nil.')
246
- end
247
-
248
- if @created_at.nil?
249
- invalid_properties.push('invalid value for "created_at", created_at cannot be nil.')
250
- end
251
-
252
- if @updated_at.nil?
253
- invalid_properties.push('invalid value for "updated_at", updated_at cannot be nil.')
254
- end
255
-
256
- invalid_properties
257
- end
258
-
259
- # Check to see if the all the properties in the model are valid
260
- # @return true if the model is valid
261
- def valid?
262
- warn '[DEPRECATED] the `valid?` method is obsolete'
263
- return false if @organization_id.nil?
264
- return false if @organization_type.nil?
265
- organization_type_validator = EnumAttributeValidator.new('String', ["free", "paid"])
266
- return false unless organization_type_validator.valid?(@organization_type)
267
- return false if @creator.nil?
268
- return false if @name.nil?
269
- return false if @messages_cap.nil?
270
- return false if @cost_cap.nil?
271
- billing_version_validator = EnumAttributeValidator.new('Float', [1, 3])
272
- return false unless billing_version_validator.valid?(@billing_version)
273
- return false if @anniversary_date.nil?
274
- return false if @allow_overage.nil?
275
- return false if @created_at.nil?
276
- return false if @updated_at.nil?
277
- true
278
- end
279
-
280
- # Custom attribute writer method with validation
281
- # @param [Object] organization_id Value to be assigned
282
- def organization_id=(organization_id)
283
- if organization_id.nil?
284
- fail ArgumentError, 'organization_id cannot be nil'
285
- end
286
-
287
- @organization_id = organization_id
288
- end
289
-
290
- # Custom attribute writer method checking allowed values (enum).
291
- # @param [Object] organization_type Object to be assigned
292
- def organization_type=(organization_type)
293
- validator = EnumAttributeValidator.new('String', ["free", "paid"])
294
- unless validator.valid?(organization_type)
295
- fail ArgumentError, "invalid value for \"organization_type\", must be one of #{validator.allowable_values}."
296
- end
297
- @organization_type = organization_type
298
- end
299
-
300
- # Custom attribute writer method with validation
301
- # @param [Object] creator Value to be assigned
302
- def creator=(creator)
303
- if creator.nil?
304
- fail ArgumentError, 'creator cannot be nil'
305
- end
306
-
307
- @creator = creator
308
- end
309
-
310
- # Custom attribute writer method with validation
311
- # @param [Object] name Value to be assigned
312
- def name=(name)
313
- if name.nil?
314
- fail ArgumentError, 'name cannot be nil'
315
- end
316
-
317
- @name = name
318
- end
319
-
320
- # Custom attribute writer method with validation
321
- # @param [Object] messages_cap Value to be assigned
322
- def messages_cap=(messages_cap)
323
- if messages_cap.nil?
324
- fail ArgumentError, 'messages_cap cannot be nil'
325
- end
326
-
327
- @messages_cap = messages_cap
328
- end
329
-
330
- # Custom attribute writer method with validation
331
- # @param [Object] cost_cap Value to be assigned
332
- def cost_cap=(cost_cap)
333
- if cost_cap.nil?
334
- fail ArgumentError, 'cost_cap cannot be nil'
335
- end
336
-
337
- @cost_cap = cost_cap
338
- end
339
-
340
- # Custom attribute writer method checking allowed values (enum).
341
- # @param [Object] billing_version Object to be assigned
342
- def billing_version=(billing_version)
343
- validator = EnumAttributeValidator.new('Float', [1, 3])
344
- unless validator.valid?(billing_version)
345
- fail ArgumentError, "invalid value for \"billing_version\", must be one of #{validator.allowable_values}."
346
- end
347
- @billing_version = billing_version
348
- end
349
-
350
- # Custom attribute writer method with validation
351
- # @param [Object] anniversary_date Value to be assigned
352
- def anniversary_date=(anniversary_date)
353
- if anniversary_date.nil?
354
- fail ArgumentError, 'anniversary_date cannot be nil'
355
- end
356
-
357
- @anniversary_date = anniversary_date
358
- end
359
-
360
- # Custom attribute writer method with validation
361
- # @param [Object] allow_overage Value to be assigned
362
- def allow_overage=(allow_overage)
363
- if allow_overage.nil?
364
- fail ArgumentError, 'allow_overage cannot be nil'
365
- end
366
-
367
- @allow_overage = allow_overage
368
- end
369
-
370
- # Custom attribute writer method with validation
371
- # @param [Object] created_at Value to be assigned
372
- def created_at=(created_at)
373
- if created_at.nil?
374
- fail ArgumentError, 'created_at cannot be nil'
375
- end
376
-
377
- @created_at = created_at
378
- end
379
-
380
- # Custom attribute writer method with validation
381
- # @param [Object] updated_at Value to be assigned
382
- def updated_at=(updated_at)
383
- if updated_at.nil?
384
- fail ArgumentError, 'updated_at cannot be nil'
385
- end
386
-
387
- @updated_at = updated_at
388
- end
389
-
390
- # Checks equality by comparing each attribute.
391
- # @param [Object] Object to be compared
392
- def ==(o)
393
- return true if self.equal?(o)
394
- self.class == o.class &&
395
- organization_id == o.organization_id &&
396
- organization_type == o.organization_type &&
397
- creator == o.creator &&
398
- name == o.name &&
399
- messages_cap == o.messages_cap &&
400
- cost_cap == o.cost_cap &&
401
- sms_cap == o.sms_cap &&
402
- call_cap == o.call_cap &&
403
- billing_version == o.billing_version &&
404
- anniversary_date == o.anniversary_date &&
405
- allow_overage == o.allow_overage &&
406
- created_at == o.created_at &&
407
- updated_at == o.updated_at
408
- end
409
-
410
- # @see the `==` method
411
- # @param [Object] Object to be compared
412
- def eql?(o)
413
- self == o
414
- end
415
-
416
- # Calculates hash code according to all attributes.
417
- # @return [Integer] Hash code
418
- def hash
419
- [organization_id, organization_type, creator, name, messages_cap, cost_cap, sms_cap, call_cap, billing_version, anniversary_date, allow_overage, created_at, updated_at].hash
420
- end
421
-
422
- # Builds the object from hash
423
- # @param [Hash] attributes Model attributes in the form of hash
424
- # @return [Object] Returns the model itself
425
- def self.build_from_hash(attributes)
426
- return nil unless attributes.is_a?(Hash)
427
- attributes = attributes.transform_keys(&:to_sym)
428
- transformed_hash = {}
429
- openapi_types.each_pair do |key, type|
430
- if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
431
- transformed_hash["#{key}"] = nil
432
- elsif type =~ /\AArray<(.*)>/i
433
- # check to ensure the input is an array given that the attribute
434
- # is documented as an array but the input is not
435
- if attributes[attribute_map[key]].is_a?(Array)
436
- transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
437
- end
438
- elsif !attributes[attribute_map[key]].nil?
439
- transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
440
- end
441
- end
442
- new(transformed_hash)
443
- end
444
-
445
- # Returns the object in the form of hash
446
- # @return [Hash] Returns the object in the form of hash
447
- def to_hash
448
- hash = {}
449
- self.class.attribute_map.each_pair do |attr, param|
450
- value = self.send(attr)
451
- if value.nil?
452
- is_nullable = self.class.openapi_nullable.include?(attr)
453
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
454
- end
455
-
456
- hash[param] = _to_hash(value)
457
- end
458
- hash
459
- end
460
-
461
- end
462
-
463
- end