authress-sdk 2.0.36.0 → 2.0.39.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/lib/authress-sdk/api/access_records_api.rb +6 -6
  3. data/lib/authress-sdk/api/accounts_api.rb +9 -9
  4. data/lib/authress-sdk/api/metadata_api.rb +6 -6
  5. data/lib/authress-sdk/api/resource_permissions_api.rb +9 -9
  6. data/lib/authress-sdk/api/roles_api.rb +9 -9
  7. data/lib/authress-sdk/api/service_clients_api.rb +15 -15
  8. data/lib/authress-sdk/api/user_permissions_api.rb +9 -9
  9. data/lib/authress-sdk/api/users_api.rb +134 -0
  10. data/lib/authress-sdk/models/{permission_response.rb → permission_collection.rb} +3 -3
  11. data/lib/authress-sdk/models/{v1resourcesresource_uri_permissions.rb → user_identity.rb} +40 -38
  12. data/lib/authress-sdk/models/{inline_response_200_6.rb → user_identity_collection.rb} +5 -5
  13. metadata +6 -28
  14. data/lib/authress-sdk/models/inline_response_200.rb +0 -240
  15. data/lib/authress-sdk/models/inline_response_200_1.rb +0 -229
  16. data/lib/authress-sdk/models/inline_response_200_10.rb +0 -248
  17. data/lib/authress-sdk/models/inline_response_200_11.rb +0 -204
  18. data/lib/authress-sdk/models/inline_response_200_12.rb +0 -206
  19. data/lib/authress-sdk/models/inline_response_200_13.rb +0 -222
  20. data/lib/authress-sdk/models/inline_response_200_14.rb +0 -239
  21. data/lib/authress-sdk/models/inline_response_200_15.rb +0 -235
  22. data/lib/authress-sdk/models/inline_response_200_2.rb +0 -231
  23. data/lib/authress-sdk/models/inline_response_200_3.rb +0 -253
  24. data/lib/authress-sdk/models/inline_response_200_4.rb +0 -221
  25. data/lib/authress-sdk/models/inline_response_200_5.rb +0 -206
  26. data/lib/authress-sdk/models/inline_response_200_7.rb +0 -222
  27. data/lib/authress-sdk/models/inline_response_200_9.rb +0 -261
  28. data/lib/authress-sdk/models/v1clients_options.rb +0 -211
  29. data/lib/authress-sdk/models/v1records_account.rb +0 -204
  30. data/lib/authress-sdk/models/v1records_links.rb +0 -204
  31. data/lib/authress-sdk/models/v1records_links_self.rb +0 -216
  32. data/lib/authress-sdk/models/v1records_users.rb +0 -205
  33. data/lib/authress-sdk/models/v1roles_permissions.rb +0 -251
  34. data/lib/authress-sdk/models/v1usersuser_idresourcesresource_urimetadata_account.rb +0 -199
  35. data/lib/authress-sdk/models/v1usersuser_idtokens_resources.rb +0 -205
  36. data/lib/authress-sdk/models/v1usersuser_idtokens_statements.rb +0 -222
@@ -1,251 +0,0 @@
1
- =begin
2
-
3
- =end
4
-
5
- require 'date'
6
-
7
- module AuthressSdk
8
- # The collective action and associate grants on a permission
9
- class V1rolesPermissions
10
- # The action the permission grants, can be scoped using `:` and parent actions imply sub-resource permissions, action:* or action implies action:sub-action. This property is case-insensitive, it will always be cast to lowercase before comparing actions to user permissions.
11
- attr_accessor :action
12
-
13
- # Does this permission grant the user the ability to execute the action?
14
- attr_accessor :allow
15
-
16
- # Allows the user to give the permission to others without being able to execute the action.
17
- attr_accessor :grant
18
-
19
- # Allows delegating or granting the permission to others without being able to execute tha action.
20
- attr_accessor :delegate
21
-
22
- # Attribute mapping from ruby-style variable name to JSON key.
23
- def self.attribute_map
24
- {
25
- :'action' => :'action',
26
- :'allow' => :'allow',
27
- :'grant' => :'grant',
28
- :'delegate' => :'delegate'
29
- }
30
- end
31
-
32
- # Attribute type mapping.
33
- def self.openapi_types
34
- {
35
- :'action' => :'Object',
36
- :'allow' => :'Object',
37
- :'grant' => :'Object',
38
- :'delegate' => :'Object'
39
- }
40
- end
41
-
42
- # List of attributes with nullable: true
43
- def self.openapi_nullable
44
- Set.new([
45
- ])
46
- end
47
-
48
- # Initializes the object
49
- # @param [Hash] attributes Model attributes in the form of hash
50
- def initialize(attributes = {})
51
- if (!attributes.is_a?(Hash))
52
- fail ArgumentError, "The input argument (attributes) must be a hash in `AuthressSdk::V1rolesPermissions` initialize method"
53
- end
54
-
55
- # check to see if the attribute exists and convert string to symbol for hash key
56
- attributes = attributes.each_with_object({}) { |(k, v), h|
57
- if (!self.class.attribute_map.key?(k.to_sym))
58
- fail ArgumentError, "`#{k}` is not a valid attribute in `AuthressSdk::V1rolesPermissions`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
59
- end
60
- h[k.to_sym] = v
61
- }
62
-
63
- if attributes.key?(:'action')
64
- self.action = attributes[:'action']
65
- end
66
-
67
- if attributes.key?(:'allow')
68
- self.allow = attributes[:'allow']
69
- end
70
-
71
- if attributes.key?(:'grant')
72
- self.grant = attributes[:'grant']
73
- end
74
-
75
- if attributes.key?(:'delegate')
76
- self.delegate = attributes[:'delegate']
77
- end
78
- end
79
-
80
- # Show invalid properties with the reasons. Usually used together with valid?
81
- # @return Array for valid properties with the reasons
82
- def list_invalid_properties
83
- invalid_properties = Array.new
84
- if @action.nil?
85
- invalid_properties.push('invalid value for "action", action cannot be nil.')
86
- end
87
-
88
- if @allow.nil?
89
- invalid_properties.push('invalid value for "allow", allow cannot be nil.')
90
- end
91
-
92
- if @grant.nil?
93
- invalid_properties.push('invalid value for "grant", grant cannot be nil.')
94
- end
95
-
96
- if @delegate.nil?
97
- invalid_properties.push('invalid value for "delegate", delegate cannot be nil.')
98
- end
99
-
100
- invalid_properties
101
- end
102
-
103
- # Check to see if the all the properties in the model are valid
104
- # @return true if the model is valid
105
- def valid?
106
- return false if @action.nil?
107
- return false if @allow.nil?
108
- return false if @grant.nil?
109
- return false if @delegate.nil?
110
- true
111
- end
112
-
113
- # Checks equality by comparing each attribute.
114
- # @param [Object] Object to be compared
115
- def ==(o)
116
- return true if self.equal?(o)
117
- self.class == o.class &&
118
- action == o.action &&
119
- allow == o.allow &&
120
- grant == o.grant &&
121
- delegate == o.delegate
122
- end
123
-
124
- # @see the `==` method
125
- # @param [Object] Object to be compared
126
- def eql?(o)
127
- self == o
128
- end
129
-
130
- # Calculates hash code according to all attributes.
131
- # @return [Integer] Hash code
132
- def hash
133
- [action, allow, grant, delegate].hash
134
- end
135
-
136
- # Builds the object from hash
137
- # @param [Hash] attributes Model attributes in the form of hash
138
- # @return [Object] Returns the model itself
139
- def self.build_from_hash(attributes)
140
- new.build_from_hash(attributes)
141
- end
142
-
143
- # Builds the object from hash
144
- # @param [Hash] attributes Model attributes in the form of hash
145
- # @return [Object] Returns the model itself
146
- def build_from_hash(attributes)
147
- return nil unless attributes.is_a?(Hash)
148
- self.class.openapi_types.each_pair do |key, type|
149
- if type =~ /\AArray<(.*)>/i
150
- # check to ensure the input is an array given that the attribute
151
- # is documented as an array but the input is not
152
- if attributes[self.class.attribute_map[key]].is_a?(Array)
153
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
154
- end
155
- elsif !attributes[self.class.attribute_map[key]].nil?
156
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
157
- elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
158
- self.send("#{key}=", nil)
159
- end
160
- end
161
-
162
- self
163
- end
164
-
165
- # Deserializes the data based on type
166
- # @param string type Data type
167
- # @param string value Value to be deserialized
168
- # @return [Object] Deserialized data
169
- def _deserialize(type, value)
170
- case type.to_sym
171
- when :DateTime
172
- DateTime.parse(value)
173
- when :Date
174
- Date.parse(value)
175
- when :String
176
- value.to_s
177
- when :Integer
178
- value.to_i
179
- when :Float
180
- value.to_f
181
- when :Boolean
182
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
183
- true
184
- else
185
- false
186
- end
187
- when :Object
188
- # generic object (usually a Hash), return directly
189
- value
190
- when /\AArray<(?<inner_type>.+)>\z/
191
- inner_type = Regexp.last_match[:inner_type]
192
- value.map { |v| _deserialize(inner_type, v) }
193
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
194
- k_type = Regexp.last_match[:k_type]
195
- v_type = Regexp.last_match[:v_type]
196
- {}.tap do |hash|
197
- value.each do |k, v|
198
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
199
- end
200
- end
201
- else # model
202
- AuthressSdk.const_get(type).build_from_hash(value)
203
- end
204
- end
205
-
206
- # Returns the string representation of the object
207
- # @return [String] String presentation of the object
208
- def to_s
209
- to_hash.to_s
210
- end
211
-
212
- # to_body is an alias to to_hash (backward compatibility)
213
- # @return [Hash] Returns the object in the form of hash
214
- def to_body
215
- to_hash
216
- end
217
-
218
- # Returns the object in the form of hash
219
- # @return [Hash] Returns the object in the form of hash
220
- def to_hash
221
- hash = {}
222
- self.class.attribute_map.each_pair do |attr, param|
223
- value = self.send(attr)
224
- if value.nil?
225
- is_nullable = self.class.openapi_nullable.include?(attr)
226
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
227
- end
228
-
229
- hash[param] = _to_hash(value)
230
- end
231
- hash
232
- end
233
-
234
- # Outputs non-array value in the form of hash
235
- # For object, use to_hash. Otherwise, just return the value
236
- # @param [Object] value Any valid value
237
- # @return [Hash] Returns the value in the form of hash
238
- def _to_hash(value)
239
- if value.is_a?(Array)
240
- value.compact.map { |v| _to_hash(v) }
241
- elsif value.is_a?(Hash)
242
- {}.tap do |hash|
243
- value.each { |k, v| hash[k] = _to_hash(v) }
244
- end
245
- elsif value.respond_to? :to_hash
246
- value.to_hash
247
- else
248
- value
249
- end
250
- end end
251
- end
@@ -1,199 +0,0 @@
1
- =begin
2
-
3
- =end
4
-
5
- require 'date'
6
-
7
- module AuthressSdk
8
- class V1usersuserIdresourcesresourceUrimetadataAccount
9
- attr_accessor :account_id
10
-
11
- # Attribute mapping from ruby-style variable name to JSON key.
12
- def self.attribute_map
13
- {
14
- :'account_id' => :'accountId'
15
- }
16
- end
17
-
18
- # Attribute type mapping.
19
- def self.openapi_types
20
- {
21
- :'account_id' => :'Object'
22
- }
23
- end
24
-
25
- # List of attributes with nullable: true
26
- def self.openapi_nullable
27
- Set.new([
28
- ])
29
- end
30
-
31
- # Initializes the object
32
- # @param [Hash] attributes Model attributes in the form of hash
33
- def initialize(attributes = {})
34
- if (!attributes.is_a?(Hash))
35
- fail ArgumentError, "The input argument (attributes) must be a hash in `AuthressSdk::V1usersuserIdresourcesresourceUrimetadataAccount` initialize method"
36
- end
37
-
38
- # check to see if the attribute exists and convert string to symbol for hash key
39
- attributes = attributes.each_with_object({}) { |(k, v), h|
40
- if (!self.class.attribute_map.key?(k.to_sym))
41
- fail ArgumentError, "`#{k}` is not a valid attribute in `AuthressSdk::V1usersuserIdresourcesresourceUrimetadataAccount`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
42
- end
43
- h[k.to_sym] = v
44
- }
45
-
46
- if attributes.key?(:'account_id')
47
- self.account_id = attributes[:'account_id']
48
- end
49
- end
50
-
51
- # Show invalid properties with the reasons. Usually used together with valid?
52
- # @return Array for valid properties with the reasons
53
- def list_invalid_properties
54
- invalid_properties = Array.new
55
- invalid_properties
56
- end
57
-
58
- # Check to see if the all the properties in the model are valid
59
- # @return true if the model is valid
60
- def valid?
61
- true
62
- end
63
-
64
- # Checks equality by comparing each attribute.
65
- # @param [Object] Object to be compared
66
- def ==(o)
67
- return true if self.equal?(o)
68
- self.class == o.class &&
69
- account_id == o.account_id
70
- end
71
-
72
- # @see the `==` method
73
- # @param [Object] Object to be compared
74
- def eql?(o)
75
- self == o
76
- end
77
-
78
- # Calculates hash code according to all attributes.
79
- # @return [Integer] Hash code
80
- def hash
81
- [account_id].hash
82
- end
83
-
84
- # Builds the object from hash
85
- # @param [Hash] attributes Model attributes in the form of hash
86
- # @return [Object] Returns the model itself
87
- def self.build_from_hash(attributes)
88
- new.build_from_hash(attributes)
89
- end
90
-
91
- # Builds the object from hash
92
- # @param [Hash] attributes Model attributes in the form of hash
93
- # @return [Object] Returns the model itself
94
- def build_from_hash(attributes)
95
- return nil unless attributes.is_a?(Hash)
96
- self.class.openapi_types.each_pair do |key, type|
97
- if type =~ /\AArray<(.*)>/i
98
- # check to ensure the input is an array given that the attribute
99
- # is documented as an array but the input is not
100
- if attributes[self.class.attribute_map[key]].is_a?(Array)
101
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
102
- end
103
- elsif !attributes[self.class.attribute_map[key]].nil?
104
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
105
- elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
106
- self.send("#{key}=", nil)
107
- end
108
- end
109
-
110
- self
111
- end
112
-
113
- # Deserializes the data based on type
114
- # @param string type Data type
115
- # @param string value Value to be deserialized
116
- # @return [Object] Deserialized data
117
- def _deserialize(type, value)
118
- case type.to_sym
119
- when :DateTime
120
- DateTime.parse(value)
121
- when :Date
122
- Date.parse(value)
123
- when :String
124
- value.to_s
125
- when :Integer
126
- value.to_i
127
- when :Float
128
- value.to_f
129
- when :Boolean
130
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
131
- true
132
- else
133
- false
134
- end
135
- when :Object
136
- # generic object (usually a Hash), return directly
137
- value
138
- when /\AArray<(?<inner_type>.+)>\z/
139
- inner_type = Regexp.last_match[:inner_type]
140
- value.map { |v| _deserialize(inner_type, v) }
141
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
142
- k_type = Regexp.last_match[:k_type]
143
- v_type = Regexp.last_match[:v_type]
144
- {}.tap do |hash|
145
- value.each do |k, v|
146
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
147
- end
148
- end
149
- else # model
150
- AuthressSdk.const_get(type).build_from_hash(value)
151
- end
152
- end
153
-
154
- # Returns the string representation of the object
155
- # @return [String] String presentation of the object
156
- def to_s
157
- to_hash.to_s
158
- end
159
-
160
- # to_body is an alias to to_hash (backward compatibility)
161
- # @return [Hash] Returns the object in the form of hash
162
- def to_body
163
- to_hash
164
- end
165
-
166
- # Returns the object in the form of hash
167
- # @return [Hash] Returns the object in the form of hash
168
- def to_hash
169
- hash = {}
170
- self.class.attribute_map.each_pair do |attr, param|
171
- value = self.send(attr)
172
- if value.nil?
173
- is_nullable = self.class.openapi_nullable.include?(attr)
174
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
175
- end
176
-
177
- hash[param] = _to_hash(value)
178
- end
179
- hash
180
- end
181
-
182
- # Outputs non-array value in the form of hash
183
- # For object, use to_hash. Otherwise, just return the value
184
- # @param [Object] value Any valid value
185
- # @return [Hash] Returns the value in the form of hash
186
- def _to_hash(value)
187
- if value.is_a?(Array)
188
- value.compact.map { |v| _to_hash(v) }
189
- elsif value.is_a?(Hash)
190
- {}.tap do |hash|
191
- value.each { |k, v| hash[k] = _to_hash(v) }
192
- end
193
- elsif value.respond_to? :to_hash
194
- value.to_hash
195
- else
196
- value
197
- end
198
- end end
199
- end
@@ -1,205 +0,0 @@
1
- =begin
2
-
3
- =end
4
-
5
- require 'date'
6
-
7
- module AuthressSdk
8
- class V1usersuserIdtokensResources
9
- # A resource path which can be top level, fully qualified, or end with a *. Parent resources imply permissions to sub-resources.
10
- attr_accessor :resource_uri
11
-
12
- # Attribute mapping from ruby-style variable name to JSON key.
13
- def self.attribute_map
14
- {
15
- :'resource_uri' => :'resourceUri'
16
- }
17
- end
18
-
19
- # Attribute type mapping.
20
- def self.openapi_types
21
- {
22
- :'resource_uri' => :'Object'
23
- }
24
- end
25
-
26
- # List of attributes with nullable: true
27
- def self.openapi_nullable
28
- Set.new([
29
- ])
30
- end
31
-
32
- # Initializes the object
33
- # @param [Hash] attributes Model attributes in the form of hash
34
- def initialize(attributes = {})
35
- if (!attributes.is_a?(Hash))
36
- fail ArgumentError, "The input argument (attributes) must be a hash in `AuthressSdk::V1usersuserIdtokensResources` initialize method"
37
- end
38
-
39
- # check to see if the attribute exists and convert string to symbol for hash key
40
- attributes = attributes.each_with_object({}) { |(k, v), h|
41
- if (!self.class.attribute_map.key?(k.to_sym))
42
- fail ArgumentError, "`#{k}` is not a valid attribute in `AuthressSdk::V1usersuserIdtokensResources`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
43
- end
44
- h[k.to_sym] = v
45
- }
46
-
47
- if attributes.key?(:'resource_uri')
48
- self.resource_uri = attributes[:'resource_uri']
49
- end
50
- end
51
-
52
- # Show invalid properties with the reasons. Usually used together with valid?
53
- # @return Array for valid properties with the reasons
54
- def list_invalid_properties
55
- invalid_properties = Array.new
56
- if @resource_uri.nil?
57
- invalid_properties.push('invalid value for "resource_uri", resource_uri cannot be nil.')
58
- end
59
-
60
- invalid_properties
61
- end
62
-
63
- # Check to see if the all the properties in the model are valid
64
- # @return true if the model is valid
65
- def valid?
66
- return false if @resource_uri.nil?
67
- true
68
- end
69
-
70
- # Checks equality by comparing each attribute.
71
- # @param [Object] Object to be compared
72
- def ==(o)
73
- return true if self.equal?(o)
74
- self.class == o.class &&
75
- resource_uri == o.resource_uri
76
- end
77
-
78
- # @see the `==` method
79
- # @param [Object] Object to be compared
80
- def eql?(o)
81
- self == o
82
- end
83
-
84
- # Calculates hash code according to all attributes.
85
- # @return [Integer] Hash code
86
- def hash
87
- [resource_uri].hash
88
- end
89
-
90
- # Builds the object from hash
91
- # @param [Hash] attributes Model attributes in the form of hash
92
- # @return [Object] Returns the model itself
93
- def self.build_from_hash(attributes)
94
- new.build_from_hash(attributes)
95
- end
96
-
97
- # Builds the object from hash
98
- # @param [Hash] attributes Model attributes in the form of hash
99
- # @return [Object] Returns the model itself
100
- def build_from_hash(attributes)
101
- return nil unless attributes.is_a?(Hash)
102
- self.class.openapi_types.each_pair do |key, type|
103
- if type =~ /\AArray<(.*)>/i
104
- # check to ensure the input is an array given that the attribute
105
- # is documented as an array but the input is not
106
- if attributes[self.class.attribute_map[key]].is_a?(Array)
107
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
108
- end
109
- elsif !attributes[self.class.attribute_map[key]].nil?
110
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
111
- elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
112
- self.send("#{key}=", nil)
113
- end
114
- end
115
-
116
- self
117
- end
118
-
119
- # Deserializes the data based on type
120
- # @param string type Data type
121
- # @param string value Value to be deserialized
122
- # @return [Object] Deserialized data
123
- def _deserialize(type, value)
124
- case type.to_sym
125
- when :DateTime
126
- DateTime.parse(value)
127
- when :Date
128
- Date.parse(value)
129
- when :String
130
- value.to_s
131
- when :Integer
132
- value.to_i
133
- when :Float
134
- value.to_f
135
- when :Boolean
136
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
137
- true
138
- else
139
- false
140
- end
141
- when :Object
142
- # generic object (usually a Hash), return directly
143
- value
144
- when /\AArray<(?<inner_type>.+)>\z/
145
- inner_type = Regexp.last_match[:inner_type]
146
- value.map { |v| _deserialize(inner_type, v) }
147
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
148
- k_type = Regexp.last_match[:k_type]
149
- v_type = Regexp.last_match[:v_type]
150
- {}.tap do |hash|
151
- value.each do |k, v|
152
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
153
- end
154
- end
155
- else # model
156
- AuthressSdk.const_get(type).build_from_hash(value)
157
- end
158
- end
159
-
160
- # Returns the string representation of the object
161
- # @return [String] String presentation of the object
162
- def to_s
163
- to_hash.to_s
164
- end
165
-
166
- # to_body is an alias to to_hash (backward compatibility)
167
- # @return [Hash] Returns the object in the form of hash
168
- def to_body
169
- to_hash
170
- end
171
-
172
- # Returns the object in the form of hash
173
- # @return [Hash] Returns the object in the form of hash
174
- def to_hash
175
- hash = {}
176
- self.class.attribute_map.each_pair do |attr, param|
177
- value = self.send(attr)
178
- if value.nil?
179
- is_nullable = self.class.openapi_nullable.include?(attr)
180
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
181
- end
182
-
183
- hash[param] = _to_hash(value)
184
- end
185
- hash
186
- end
187
-
188
- # Outputs non-array value in the form of hash
189
- # For object, use to_hash. Otherwise, just return the value
190
- # @param [Object] value Any valid value
191
- # @return [Hash] Returns the value in the form of hash
192
- def _to_hash(value)
193
- if value.is_a?(Array)
194
- value.compact.map { |v| _to_hash(v) }
195
- elsif value.is_a?(Hash)
196
- {}.tap do |hash|
197
- value.each { |k, v| hash[k] = _to_hash(v) }
198
- end
199
- elsif value.respond_to? :to_hash
200
- value.to_hash
201
- else
202
- value
203
- end
204
- end end
205
- end