fastly 10.0.0 → 11.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 (100) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +25 -1
  3. data/Gemfile.lock +1 -1
  4. data/README.md +2 -5
  5. data/docs/AutomationToken.md +1 -1
  6. data/docs/AutomationTokenCreateRequestAttributes.md +1 -1
  7. data/docs/AutomationTokenCreateResponse.md +4 -6
  8. data/docs/AutomationTokenCreateResponseAllOf.md +3 -3
  9. data/docs/AutomationTokenResponse.md +4 -6
  10. data/docs/AutomationTokenResponseAllOf.md +4 -4
  11. data/docs/BillingUsageMetricsApi.md +11 -9
  12. data/docs/ComputeAclListEntriesMeta.md +1 -1
  13. data/docs/Header.md +2 -0
  14. data/docs/HeaderApi.md +8 -8
  15. data/docs/KvStoreItemApi.md +4 -4
  16. data/docs/LoggingAzureblobAdditional.md +1 -1
  17. data/docs/LoggingAzureblobApi.md +4 -4
  18. data/docs/LoggingAzureblobResponse.md +1 -1
  19. data/docs/Results.md +7 -0
  20. data/docs/SnippetApi.md +2 -2
  21. data/docs/{SnippetResponseCommonAllOf.md → SnippetResponseAllOf.md} +1 -1
  22. data/docs/TlsBulkCertificatesApi.md +4 -0
  23. data/lib/fastly/api/automation_tokens_api.rb +6 -6
  24. data/lib/fastly/api/billing_usage_metrics_api.rb +11 -8
  25. data/lib/fastly/api/header_api.rb +8 -8
  26. data/lib/fastly/api/kv_store_item_api.rb +5 -5
  27. data/lib/fastly/api/logging_azureblob_api.rb +4 -4
  28. data/lib/fastly/api/snippet_api.rb +3 -3
  29. data/lib/fastly/api/tls_bulk_certificates_api.rb +6 -0
  30. data/lib/fastly/configuration.rb +0 -18
  31. data/lib/fastly/models/automation_token.rb +1 -1
  32. data/lib/fastly/models/automation_token_create_request_attributes.rb +1 -1
  33. data/lib/fastly/models/automation_token_create_response.rb +21 -43
  34. data/lib/fastly/models/automation_token_create_response_all_of.rb +13 -12
  35. data/lib/fastly/models/automation_token_response.rb +24 -46
  36. data/lib/fastly/models/automation_token_response_all_of.rb +11 -10
  37. data/lib/fastly/models/compute_acl_list_entries_meta.rb +1 -1
  38. data/lib/fastly/models/header.rb +26 -4
  39. data/lib/fastly/models/header_response.rb +0 -1
  40. data/lib/fastly/models/logging_azureblob_additional.rb +1 -1
  41. data/lib/fastly/models/logging_azureblob_response.rb +1 -1
  42. data/lib/fastly/models/results.rb +71 -1
  43. data/lib/fastly/models/schemas_snippet_response.rb +3 -2
  44. data/lib/fastly/models/snippet.rb +0 -8
  45. data/lib/fastly/models/snippet_response.rb +2 -1
  46. data/lib/fastly/models/{snippet_response_common_all_of.rb → snippet_response_all_of.rb} +3 -3
  47. data/lib/fastly/version.rb +1 -1
  48. data/lib/fastly.rb +1 -26
  49. data/sig.json +1 -1
  50. metadata +4 -54
  51. data/docs/Billing.md +0 -16
  52. data/docs/BillingApi.md +0 -139
  53. data/docs/BillingBandwidth.md +0 -11
  54. data/docs/BillingBandwidthTiers.md +0 -14
  55. data/docs/BillingEstimateInvoiceId.md +0 -10
  56. data/docs/BillingEstimateLines.md +0 -10
  57. data/docs/BillingEstimateLinesLineItems.md +0 -18
  58. data/docs/BillingEstimateResponse.md +0 -18
  59. data/docs/BillingInvoiceId.md +0 -10
  60. data/docs/BillingRegions.md +0 -13
  61. data/docs/BillingResponse.md +0 -18
  62. data/docs/BillingResponseItemItemsData.md +0 -10
  63. data/docs/BillingResponseLineItem.md +0 -29
  64. data/docs/BillingStatus.md +0 -11
  65. data/docs/BillingTotal.md +0 -25
  66. data/docs/BillingTotalExtras.md +0 -12
  67. data/docs/HeaderResponseAdditional.md +0 -11
  68. data/docs/LineItemData.md +0 -26
  69. data/docs/SchemasSnippetResponseCommon.md +0 -15
  70. data/docs/SnippetAllOf.md +0 -10
  71. data/docs/SnippetCommon.md +0 -13
  72. data/docs/SnippetResponseCommon.md +0 -15
  73. data/docs/SnippetResponsePost.md +0 -20
  74. data/docs/SnippetWithDynamicNumber.md +0 -14
  75. data/docs/SnippetWithDynamicNumberAllOf.md +0 -10
  76. data/lib/fastly/api/billing_api.rb +0 -229
  77. data/lib/fastly/models/billing.rb +0 -278
  78. data/lib/fastly/models/billing_bandwidth.rb +0 -227
  79. data/lib/fastly/models/billing_bandwidth_tiers.rb +0 -252
  80. data/lib/fastly/models/billing_estimate_invoice_id.rb +0 -216
  81. data/lib/fastly/models/billing_estimate_lines.rb +0 -218
  82. data/lib/fastly/models/billing_estimate_lines_line_items.rb +0 -288
  83. data/lib/fastly/models/billing_estimate_response.rb +0 -307
  84. data/lib/fastly/models/billing_invoice_id.rb +0 -216
  85. data/lib/fastly/models/billing_regions.rb +0 -243
  86. data/lib/fastly/models/billing_response.rb +0 -307
  87. data/lib/fastly/models/billing_response_item_items_data.rb +0 -218
  88. data/lib/fastly/models/billing_response_line_item.rb +0 -418
  89. data/lib/fastly/models/billing_status.rb +0 -262
  90. data/lib/fastly/models/billing_total.rb +0 -371
  91. data/lib/fastly/models/billing_total_extras.rb +0 -237
  92. data/lib/fastly/models/header_response_additional.rb +0 -229
  93. data/lib/fastly/models/line_item_data.rb +0 -377
  94. data/lib/fastly/models/schemas_snippet_response_common.rb +0 -276
  95. data/lib/fastly/models/snippet_all_of.rb +0 -251
  96. data/lib/fastly/models/snippet_common.rb +0 -284
  97. data/lib/fastly/models/snippet_response_common.rb +0 -276
  98. data/lib/fastly/models/snippet_response_post.rb +0 -375
  99. data/lib/fastly/models/snippet_with_dynamic_number.rb +0 -314
  100. data/lib/fastly/models/snippet_with_dynamic_number_all_of.rb +0 -251
@@ -1,243 +0,0 @@
1
- =begin
2
- #Fastly API
3
-
4
- #Via the Fastly API you can perform any of the operations that are possible within the management console, including creating services, domains, and backends, configuring rules or uploading your own application code, as well as account operations such as user administration and billing reports. The API is organized into collections of endpoints that allow manipulation of objects related to Fastly services and accounts. For the most accurate and up-to-date API reference content, visit our [Developer Hub](https://www.fastly.com/documentation/reference/api/)
5
-
6
- The version of the OpenAPI document: 1.0.0
7
- Contact: oss@fastly.com
8
-
9
- =end
10
-
11
- require 'date'
12
- require 'time'
13
-
14
- module Fastly
15
- class BillingRegions
16
- attr_accessor :cost
17
-
18
- attr_accessor :bandwidth
19
-
20
- attr_accessor :percentile
21
-
22
- attr_accessor :requests
23
-
24
- # Attribute mapping from ruby-style variable name to JSON key.
25
- def self.attribute_map
26
- {
27
- :'cost' => :'cost',
28
- :'bandwidth' => :'bandwidth',
29
- :'percentile' => :'percentile',
30
- :'requests' => :'requests'
31
- }
32
- end
33
-
34
- # Returns all the JSON keys this model knows about
35
- def self.acceptable_attributes
36
- attribute_map.values
37
- end
38
-
39
- # Attribute type mapping.
40
- def self.fastly_types
41
- {
42
- :'cost' => :'Float',
43
- :'bandwidth' => :'BillingBandwidth',
44
- :'percentile' => :'BillingBandwidth',
45
- :'requests' => :'BillingBandwidth'
46
- }
47
- end
48
-
49
- # List of attributes with nullable: true
50
- def self.fastly_nullable
51
- Set.new([
52
- ])
53
- end
54
-
55
- # Initializes the object
56
- # @param [Hash] attributes Model attributes in the form of hash
57
- def initialize(attributes = {})
58
- if (!attributes.is_a?(Hash))
59
- fail ArgumentError, "The input argument (attributes) must be a hash in `Fastly::BillingRegions` initialize method"
60
- end
61
-
62
- # check to see if the attribute exists and convert string to symbol for hash key
63
- attributes = attributes.each_with_object({}) { |(k, v), h|
64
- if (!self.class.attribute_map.key?(k.to_sym))
65
- fail ArgumentError, "`#{k}` is not a valid attribute in `Fastly::BillingRegions`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
66
- end
67
- h[k.to_sym] = v
68
- }
69
-
70
- if attributes.key?(:'cost')
71
- self.cost = attributes[:'cost']
72
- end
73
-
74
- if attributes.key?(:'bandwidth')
75
- self.bandwidth = attributes[:'bandwidth']
76
- end
77
-
78
- if attributes.key?(:'percentile')
79
- self.percentile = attributes[:'percentile']
80
- end
81
-
82
- if attributes.key?(:'requests')
83
- self.requests = attributes[:'requests']
84
- end
85
- end
86
-
87
- # Show invalid properties with the reasons. Usually used together with valid?
88
- # @return Array for valid properties with the reasons
89
- def list_invalid_properties
90
- invalid_properties = Array.new
91
- invalid_properties
92
- end
93
-
94
- # Check to see if the all the properties in the model are valid
95
- # @return true if the model is valid
96
- def valid?
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
- cost == o.cost &&
106
- bandwidth == o.bandwidth &&
107
- percentile == o.percentile &&
108
- requests == o.requests
109
- end
110
-
111
- # @see the `==` method
112
- # @param [Object] Object to be compared
113
- def eql?(o)
114
- self == o
115
- end
116
-
117
- # Calculates hash code according to all attributes.
118
- # @return [Integer] Hash code
119
- def hash
120
- [cost, bandwidth, percentile, requests].hash
121
- end
122
-
123
- # Builds the object from hash
124
- # @param [Hash] attributes Model attributes in the form of hash
125
- # @return [Object] Returns the model itself
126
- def self.build_from_hash(attributes)
127
- new.build_from_hash(attributes)
128
- end
129
-
130
- # Builds the object from hash
131
- # @param [Hash] attributes Model attributes in the form of hash
132
- # @return [Object] Returns the model itself
133
- def build_from_hash(attributes)
134
- return nil unless attributes.is_a?(Hash)
135
- self.class.fastly_types.each_pair do |key, type|
136
- if attributes[self.class.attribute_map[key]].nil? && self.class.fastly_nullable.include?(key)
137
- self.send("#{key}=", nil)
138
- elsif type =~ /\AArray<(.*)>/i
139
- # check to ensure the input is an array given that the attribute
140
- # is documented as an array but the input is not
141
- if attributes[self.class.attribute_map[key]].is_a?(Array)
142
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
143
- end
144
- elsif !attributes[self.class.attribute_map[key]].nil?
145
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
146
- end
147
- end
148
-
149
- self
150
- end
151
-
152
- # Deserializes the data based on type
153
- # @param string type Data type
154
- # @param string value Value to be deserialized
155
- # @return [Object] Deserialized data
156
- def _deserialize(type, value)
157
- case type.to_sym
158
- when :Time
159
- Time.parse(value)
160
- when :Date
161
- Date.parse(value)
162
- when :String
163
- value.to_s
164
- when :Integer
165
- value.to_i
166
- when :Float
167
- value.to_f
168
- when :Boolean
169
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
170
- true
171
- else
172
- false
173
- end
174
- when :Object
175
- # generic object (usually a Hash), return directly
176
- value
177
- when /\AArray<(?<inner_type>.+)>\z/
178
- inner_type = Regexp.last_match[:inner_type]
179
- value.map { |v| _deserialize(inner_type, v) }
180
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
181
- k_type = Regexp.last_match[:k_type]
182
- v_type = Regexp.last_match[:v_type]
183
- {}.tap do |hash|
184
- value.each do |k, v|
185
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
186
- end
187
- end
188
- else # model
189
- # models (e.g. Pet) or oneOf
190
- klass = Fastly.const_get(type)
191
- klass.respond_to?(:fastly_one_of) ? klass.build(value) : klass.build_from_hash(value)
192
- end
193
- end
194
-
195
- # Returns the string representation of the object
196
- # @return [String] String presentation of the object
197
- def to_s
198
- to_hash.to_s
199
- end
200
-
201
- # to_body is an alias to to_hash (backward compatibility)
202
- # @return [Hash] Returns the object in the form of hash
203
- def to_body
204
- to_hash
205
- end
206
-
207
- # Returns the object in the form of hash
208
- # @return [Hash] Returns the object in the form of hash
209
- def to_hash
210
- hash = {}
211
- self.class.attribute_map.each_pair do |attr, param|
212
- value = self.send(attr)
213
- if value.nil?
214
- is_nullable = self.class.fastly_nullable.include?(attr)
215
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
216
- end
217
-
218
- hash[param] = _to_hash(value)
219
- end
220
- hash
221
- end
222
-
223
- # Outputs non-array value in the form of hash
224
- # For object, use to_hash. Otherwise, just return the value
225
- # @param [Object] value Any valid value
226
- # @return [Hash] Returns the value in the form of hash
227
- def _to_hash(value)
228
- if value.is_a?(Array)
229
- value.compact.map { |v| _to_hash(v) }
230
- elsif value.is_a?(Hash)
231
- {}.tap do |hash|
232
- value.each { |k, v| hash[k] = _to_hash(v) }
233
- end
234
- elsif value.respond_to? :to_hash
235
- value.to_hash
236
- else
237
- value
238
- end
239
- end
240
-
241
- end
242
-
243
- end
@@ -1,307 +0,0 @@
1
- =begin
2
- #Fastly API
3
-
4
- #Via the Fastly API you can perform any of the operations that are possible within the management console, including creating services, domains, and backends, configuring rules or uploading your own application code, as well as account operations such as user administration and billing reports. The API is organized into collections of endpoints that allow manipulation of objects related to Fastly services and accounts. For the most accurate and up-to-date API reference content, visit our [Developer Hub](https://www.fastly.com/documentation/reference/api/)
5
-
6
- The version of the OpenAPI document: 1.0.0
7
- Contact: oss@fastly.com
8
-
9
- =end
10
-
11
- require 'date'
12
- require 'time'
13
-
14
- module Fastly
15
- class BillingResponse
16
- # Date and time in ISO 8601 format.
17
- attr_accessor :end_time
18
-
19
- # Date and time in ISO 8601 format.
20
- attr_accessor :start_time
21
-
22
- attr_accessor :customer_id
23
-
24
- # The current state of our third-party billing vendor. One of `up` or `down`.
25
- attr_accessor :vendor_state
26
-
27
- attr_accessor :status
28
-
29
- attr_accessor :total
30
-
31
- # Breakdown of regional data for products that are region based.
32
- attr_accessor :regions
33
-
34
- attr_accessor :invoice_id
35
-
36
- attr_accessor :line_items
37
-
38
- # Attribute mapping from ruby-style variable name to JSON key.
39
- def self.attribute_map
40
- {
41
- :'end_time' => :'end_time',
42
- :'start_time' => :'start_time',
43
- :'customer_id' => :'customer_id',
44
- :'vendor_state' => :'vendor_state',
45
- :'status' => :'status',
46
- :'total' => :'total',
47
- :'regions' => :'regions',
48
- :'invoice_id' => :'invoice_id',
49
- :'line_items' => :'line_items'
50
- }
51
- end
52
-
53
- # Returns all the JSON keys this model knows about
54
- def self.acceptable_attributes
55
- attribute_map.values
56
- end
57
-
58
- # Attribute type mapping.
59
- def self.fastly_types
60
- {
61
- :'end_time' => :'Time',
62
- :'start_time' => :'Time',
63
- :'customer_id' => :'String',
64
- :'vendor_state' => :'String',
65
- :'status' => :'BillingStatus',
66
- :'total' => :'BillingTotal',
67
- :'regions' => :'Hash<String, BillingRegions>',
68
- :'invoice_id' => :'Integer',
69
- :'line_items' => :'Array<BillingResponseLineItem>'
70
- }
71
- end
72
-
73
- # List of attributes with nullable: true
74
- def self.fastly_nullable
75
- Set.new([
76
- :'end_time',
77
- :'start_time',
78
- ])
79
- end
80
-
81
- # List of class defined in allOf (OpenAPI v3)
82
- def self.fastly_all_of
83
- [
84
- :'Billing',
85
- :'BillingInvoiceId',
86
- :'BillingResponseItemItemsData'
87
- ]
88
- end
89
-
90
- # Initializes the object
91
- # @param [Hash] attributes Model attributes in the form of hash
92
- def initialize(attributes = {})
93
- if (!attributes.is_a?(Hash))
94
- fail ArgumentError, "The input argument (attributes) must be a hash in `Fastly::BillingResponse` initialize method"
95
- end
96
-
97
- # check to see if the attribute exists and convert string to symbol for hash key
98
- attributes = attributes.each_with_object({}) { |(k, v), h|
99
- if (!self.class.attribute_map.key?(k.to_sym))
100
- fail ArgumentError, "`#{k}` is not a valid attribute in `Fastly::BillingResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
101
- end
102
- h[k.to_sym] = v
103
- }
104
-
105
- if attributes.key?(:'end_time')
106
- self.end_time = attributes[:'end_time']
107
- end
108
-
109
- if attributes.key?(:'start_time')
110
- self.start_time = attributes[:'start_time']
111
- end
112
-
113
- if attributes.key?(:'customer_id')
114
- self.customer_id = attributes[:'customer_id']
115
- end
116
-
117
- if attributes.key?(:'vendor_state')
118
- self.vendor_state = attributes[:'vendor_state']
119
- end
120
-
121
- if attributes.key?(:'status')
122
- self.status = attributes[:'status']
123
- end
124
-
125
- if attributes.key?(:'total')
126
- self.total = attributes[:'total']
127
- end
128
-
129
- if attributes.key?(:'regions')
130
- if (value = attributes[:'regions']).is_a?(Hash)
131
- self.regions = value
132
- end
133
- end
134
-
135
- if attributes.key?(:'invoice_id')
136
- self.invoice_id = attributes[:'invoice_id']
137
- end
138
-
139
- if attributes.key?(:'line_items')
140
- if (value = attributes[:'line_items']).is_a?(Array)
141
- self.line_items = value
142
- end
143
- end
144
- end
145
-
146
- # Show invalid properties with the reasons. Usually used together with valid?
147
- # @return Array for valid properties with the reasons
148
- def list_invalid_properties
149
- invalid_properties = Array.new
150
- invalid_properties
151
- end
152
-
153
- # Check to see if the all the properties in the model are valid
154
- # @return true if the model is valid
155
- def valid?
156
- true
157
- end
158
-
159
- # Checks equality by comparing each attribute.
160
- # @param [Object] Object to be compared
161
- def ==(o)
162
- return true if self.equal?(o)
163
- self.class == o.class &&
164
- end_time == o.end_time &&
165
- start_time == o.start_time &&
166
- customer_id == o.customer_id &&
167
- vendor_state == o.vendor_state &&
168
- status == o.status &&
169
- total == o.total &&
170
- regions == o.regions &&
171
- invoice_id == o.invoice_id &&
172
- line_items == o.line_items
173
- end
174
-
175
- # @see the `==` method
176
- # @param [Object] Object to be compared
177
- def eql?(o)
178
- self == o
179
- end
180
-
181
- # Calculates hash code according to all attributes.
182
- # @return [Integer] Hash code
183
- def hash
184
- [end_time, start_time, customer_id, vendor_state, status, total, regions, invoice_id, line_items].hash
185
- end
186
-
187
- # Builds the object from hash
188
- # @param [Hash] attributes Model attributes in the form of hash
189
- # @return [Object] Returns the model itself
190
- def self.build_from_hash(attributes)
191
- new.build_from_hash(attributes)
192
- end
193
-
194
- # Builds the object from hash
195
- # @param [Hash] attributes Model attributes in the form of hash
196
- # @return [Object] Returns the model itself
197
- def build_from_hash(attributes)
198
- return nil unless attributes.is_a?(Hash)
199
- self.class.fastly_types.each_pair do |key, type|
200
- if attributes[self.class.attribute_map[key]].nil? && self.class.fastly_nullable.include?(key)
201
- self.send("#{key}=", nil)
202
- elsif type =~ /\AArray<(.*)>/i
203
- # check to ensure the input is an array given that the attribute
204
- # is documented as an array but the input is not
205
- if attributes[self.class.attribute_map[key]].is_a?(Array)
206
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
207
- end
208
- elsif !attributes[self.class.attribute_map[key]].nil?
209
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
210
- end
211
- end
212
-
213
- self
214
- end
215
-
216
- # Deserializes the data based on type
217
- # @param string type Data type
218
- # @param string value Value to be deserialized
219
- # @return [Object] Deserialized data
220
- def _deserialize(type, value)
221
- case type.to_sym
222
- when :Time
223
- Time.parse(value)
224
- when :Date
225
- Date.parse(value)
226
- when :String
227
- value.to_s
228
- when :Integer
229
- value.to_i
230
- when :Float
231
- value.to_f
232
- when :Boolean
233
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
234
- true
235
- else
236
- false
237
- end
238
- when :Object
239
- # generic object (usually a Hash), return directly
240
- value
241
- when /\AArray<(?<inner_type>.+)>\z/
242
- inner_type = Regexp.last_match[:inner_type]
243
- value.map { |v| _deserialize(inner_type, v) }
244
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
245
- k_type = Regexp.last_match[:k_type]
246
- v_type = Regexp.last_match[:v_type]
247
- {}.tap do |hash|
248
- value.each do |k, v|
249
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
250
- end
251
- end
252
- else # model
253
- # models (e.g. Pet) or oneOf
254
- klass = Fastly.const_get(type)
255
- klass.respond_to?(:fastly_one_of) ? klass.build(value) : klass.build_from_hash(value)
256
- end
257
- end
258
-
259
- # Returns the string representation of the object
260
- # @return [String] String presentation of the object
261
- def to_s
262
- to_hash.to_s
263
- end
264
-
265
- # to_body is an alias to to_hash (backward compatibility)
266
- # @return [Hash] Returns the object in the form of hash
267
- def to_body
268
- to_hash
269
- end
270
-
271
- # Returns the object in the form of hash
272
- # @return [Hash] Returns the object in the form of hash
273
- def to_hash
274
- hash = {}
275
- self.class.attribute_map.each_pair do |attr, param|
276
- value = self.send(attr)
277
- if value.nil?
278
- is_nullable = self.class.fastly_nullable.include?(attr)
279
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
280
- end
281
-
282
- hash[param] = _to_hash(value)
283
- end
284
- hash
285
- end
286
-
287
- # Outputs non-array value in the form of hash
288
- # For object, use to_hash. Otherwise, just return the value
289
- # @param [Object] value Any valid value
290
- # @return [Hash] Returns the value in the form of hash
291
- def _to_hash(value)
292
- if value.is_a?(Array)
293
- value.compact.map { |v| _to_hash(v) }
294
- elsif value.is_a?(Hash)
295
- {}.tap do |hash|
296
- value.each { |k, v| hash[k] = _to_hash(v) }
297
- end
298
- elsif value.respond_to? :to_hash
299
- value.to_hash
300
- else
301
- value
302
- end
303
- end
304
-
305
- end
306
-
307
- end