ory-kratos-client 0.3.0.alpha1 → 0.4.6.alpha1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -1
  3. data/README.md +14 -6
  4. data/docs/AdminApi.md +53 -5
  5. data/docs/CommonApi.md +53 -5
  6. data/docs/Form.md +2 -2
  7. data/docs/FormField.md +3 -3
  8. data/docs/GenericErrorPayload.md +1 -1
  9. data/docs/Identity.md +9 -7
  10. data/docs/LoginRequest.md +2 -0
  11. data/docs/LoginRequestMethodConfig.md +2 -2
  12. data/docs/Message.md +23 -0
  13. data/docs/PublicApi.md +153 -13
  14. data/docs/RecoveryAddress.md +21 -0
  15. data/docs/RecoveryRequest.md +31 -0
  16. data/docs/RecoveryRequestMethod.md +19 -0
  17. data/docs/RegistrationRequest.md +2 -0
  18. data/docs/RegistrationRequestMethodConfig.md +2 -2
  19. data/docs/RequestMethodConfig.md +2 -2
  20. data/docs/SettingsRequest.md +4 -2
  21. data/docs/VerificationRequest.md +2 -0
  22. data/lib/ory-kratos-client.rb +6 -3
  23. data/lib/ory-kratos-client/api/admin_api.rb +73 -10
  24. data/lib/ory-kratos-client/api/common_api.rb +73 -10
  25. data/lib/ory-kratos-client/api/health_api.rb +2 -2
  26. data/lib/ory-kratos-client/api/public_api.rb +198 -20
  27. data/lib/ory-kratos-client/api/version_api.rb +2 -2
  28. data/lib/ory-kratos-client/api_client.rb +9 -7
  29. data/lib/ory-kratos-client/api_error.rb +2 -2
  30. data/lib/ory-kratos-client/configuration.rb +2 -2
  31. data/lib/ory-kratos-client/models/complete_self_service_browser_settings_strategy_profile_flow_payload.rb +2 -2
  32. data/lib/ory-kratos-client/models/error_container.rb +2 -2
  33. data/lib/ory-kratos-client/models/form.rb +14 -15
  34. data/lib/ory-kratos-client/models/form_field.rb +11 -11
  35. data/lib/ory-kratos-client/models/generic_error.rb +2 -2
  36. data/lib/ory-kratos-client/models/generic_error_payload.rb +4 -6
  37. data/lib/ory-kratos-client/models/health_not_ready_status.rb +2 -2
  38. data/lib/ory-kratos-client/models/health_status.rb +2 -2
  39. data/lib/ory-kratos-client/models/identity.rb +48 -35
  40. data/lib/ory-kratos-client/models/login_request.rb +14 -3
  41. data/lib/ory-kratos-client/models/login_request_method.rb +2 -2
  42. data/lib/ory-kratos-client/models/login_request_method_config.rb +14 -15
  43. data/lib/ory-kratos-client/models/message.rb +233 -0
  44. data/lib/ory-kratos-client/models/provider_credentials_config.rb +2 -2
  45. data/lib/ory-kratos-client/models/recovery_address.rb +239 -0
  46. data/lib/ory-kratos-client/models/recovery_request.rb +309 -0
  47. data/lib/ory-kratos-client/models/recovery_request_method.rb +216 -0
  48. data/lib/ory-kratos-client/models/registration_request.rb +14 -3
  49. data/lib/ory-kratos-client/models/registration_request_method.rb +2 -2
  50. data/lib/ory-kratos-client/models/registration_request_method_config.rb +14 -15
  51. data/lib/ory-kratos-client/models/request_method_config.rb +14 -15
  52. data/lib/ory-kratos-client/models/session.rb +2 -2
  53. data/lib/ory-kratos-client/models/settings_request.rb +23 -13
  54. data/lib/ory-kratos-client/models/settings_request_method.rb +2 -2
  55. data/lib/ory-kratos-client/models/verifiable_address.rb +2 -2
  56. data/lib/ory-kratos-client/models/verification_request.rb +14 -3
  57. data/lib/ory-kratos-client/models/version.rb +2 -2
  58. data/lib/ory-kratos-client/version.rb +3 -3
  59. data/ory-kratos-client.gemspec +2 -2
  60. data/spec/models/message_spec.rb +59 -0
  61. data/spec/models/recovery_address_spec.rb +53 -0
  62. data/spec/models/recovery_request_method_spec.rb +47 -0
  63. data/spec/models/recovery_request_spec.rb +83 -0
  64. metadata +40 -24
@@ -3,10 +3,10 @@
3
3
 
4
4
  #Welcome to the ORY Kratos HTTP API documentation!
5
5
 
6
- The version of the OpenAPI document: latest
6
+ The version of the OpenAPI document: v0.4.6-alpha.1
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 4.2.3
9
+ OpenAPI Generator version: 4.3.1
10
10
 
11
11
  =end
12
12
 
@@ -28,6 +28,8 @@ module OryHydraClient
28
28
  # IssuedAt is the time (UTC) when the request occurred.
29
29
  attr_accessor :issued_at
30
30
 
31
+ attr_accessor :messages
32
+
31
33
  # Methods contains context for all enabled login methods. If a login request has been processed, but for example the password is incorrect, this will contain error messages.
32
34
  attr_accessor :methods
33
35
 
@@ -42,6 +44,7 @@ module OryHydraClient
42
44
  :'forced' => :'forced',
43
45
  :'id' => :'id',
44
46
  :'issued_at' => :'issued_at',
47
+ :'messages' => :'messages',
45
48
  :'methods' => :'methods',
46
49
  :'request_url' => :'request_url'
47
50
  }
@@ -55,6 +58,7 @@ module OryHydraClient
55
58
  :'forced' => :'Boolean',
56
59
  :'id' => :'String',
57
60
  :'issued_at' => :'DateTime',
61
+ :'messages' => :'Array<Message>',
58
62
  :'methods' => :'Hash<String, LoginRequestMethod>',
59
63
  :'request_url' => :'String'
60
64
  }
@@ -101,6 +105,12 @@ module OryHydraClient
101
105
  self.issued_at = attributes[:'issued_at']
102
106
  end
103
107
 
108
+ if attributes.key?(:'messages')
109
+ if (value = attributes[:'messages']).is_a?(Array)
110
+ self.messages = value
111
+ end
112
+ end
113
+
104
114
  if attributes.key?(:'methods')
105
115
  if (value = attributes[:'methods']).is_a?(Hash)
106
116
  self.methods = value
@@ -160,6 +170,7 @@ module OryHydraClient
160
170
  forced == o.forced &&
161
171
  id == o.id &&
162
172
  issued_at == o.issued_at &&
173
+ messages == o.messages &&
163
174
  methods == o.methods &&
164
175
  request_url == o.request_url
165
176
  end
@@ -173,7 +184,7 @@ module OryHydraClient
173
184
  # Calculates hash code according to all attributes.
174
185
  # @return [Integer] Hash code
175
186
  def hash
176
- [active, expires_at, forced, id, issued_at, methods, request_url].hash
187
+ [active, expires_at, forced, id, issued_at, messages, methods, request_url].hash
177
188
  end
178
189
 
179
190
  # Builds the object from hash
@@ -3,10 +3,10 @@
3
3
 
4
4
  #Welcome to the ORY Kratos HTTP API documentation!
5
5
 
6
- The version of the OpenAPI document: latest
6
+ The version of the OpenAPI document: v0.4.6-alpha.1
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 4.2.3
9
+ OpenAPI Generator version: 4.3.1
10
10
 
11
11
  =end
12
12
 
@@ -3,10 +3,10 @@
3
3
 
4
4
  #Welcome to the ORY Kratos HTTP API documentation!
5
5
 
6
- The version of the OpenAPI document: latest
6
+ The version of the OpenAPI document: v0.4.6-alpha.1
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 4.2.3
9
+ OpenAPI Generator version: 4.3.1
10
10
 
11
11
  =end
12
12
 
@@ -17,12 +17,11 @@ module OryHydraClient
17
17
  # Action should be used as the form action URL `<form action=\"{{ .Action }}\" method=\"post\">`.
18
18
  attr_accessor :action
19
19
 
20
- # Errors contains all form errors. These will be duplicates of the individual field errors.
21
- attr_accessor :errors
22
-
23
20
  # Fields contains multiple fields
24
21
  attr_accessor :fields
25
22
 
23
+ attr_accessor :messages
24
+
26
25
  # Method is the form method (e.g. POST)
27
26
  attr_accessor :method
28
27
 
@@ -33,8 +32,8 @@ module OryHydraClient
33
32
  def self.attribute_map
34
33
  {
35
34
  :'action' => :'action',
36
- :'errors' => :'errors',
37
35
  :'fields' => :'fields',
36
+ :'messages' => :'messages',
38
37
  :'method' => :'method',
39
38
  :'providers' => :'providers'
40
39
  }
@@ -44,8 +43,8 @@ module OryHydraClient
44
43
  def self.openapi_types
45
44
  {
46
45
  :'action' => :'String',
47
- :'errors' => :'Array<Error>',
48
46
  :'fields' => :'Array<FormField>',
47
+ :'messages' => :'Array<Message>',
49
48
  :'method' => :'String',
50
49
  :'providers' => :'Array<FormField>'
51
50
  }
@@ -76,18 +75,18 @@ module OryHydraClient
76
75
  self.action = attributes[:'action']
77
76
  end
78
77
 
79
- if attributes.key?(:'errors')
80
- if (value = attributes[:'errors']).is_a?(Array)
81
- self.errors = value
82
- end
83
- end
84
-
85
78
  if attributes.key?(:'fields')
86
79
  if (value = attributes[:'fields']).is_a?(Array)
87
80
  self.fields = value
88
81
  end
89
82
  end
90
83
 
84
+ if attributes.key?(:'messages')
85
+ if (value = attributes[:'messages']).is_a?(Array)
86
+ self.messages = value
87
+ end
88
+ end
89
+
91
90
  if attributes.key?(:'method')
92
91
  self.method = attributes[:'method']
93
92
  end
@@ -133,8 +132,8 @@ module OryHydraClient
133
132
  return true if self.equal?(o)
134
133
  self.class == o.class &&
135
134
  action == o.action &&
136
- errors == o.errors &&
137
135
  fields == o.fields &&
136
+ messages == o.messages &&
138
137
  method == o.method &&
139
138
  providers == o.providers
140
139
  end
@@ -148,7 +147,7 @@ module OryHydraClient
148
147
  # Calculates hash code according to all attributes.
149
148
  # @return [Integer] Hash code
150
149
  def hash
151
- [action, errors, fields, method, providers].hash
150
+ [action, fields, messages, method, providers].hash
152
151
  end
153
152
 
154
153
  # Builds the object from hash
@@ -0,0 +1,233 @@
1
+ =begin
2
+ #Ory Kratos
3
+
4
+ #Welcome to the ORY Kratos HTTP API documentation!
5
+
6
+ The version of the OpenAPI document: v0.4.6-alpha.1
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 4.3.1
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module OryHydraClient
16
+ class Message
17
+ attr_accessor :context
18
+
19
+ attr_accessor :id
20
+
21
+ attr_accessor :text
22
+
23
+ attr_accessor :type
24
+
25
+ # Attribute mapping from ruby-style variable name to JSON key.
26
+ def self.attribute_map
27
+ {
28
+ :'context' => :'context',
29
+ :'id' => :'id',
30
+ :'text' => :'text',
31
+ :'type' => :'type'
32
+ }
33
+ end
34
+
35
+ # Attribute type mapping.
36
+ def self.openapi_types
37
+ {
38
+ :'context' => :'Object',
39
+ :'id' => :'Integer',
40
+ :'text' => :'String',
41
+ :'type' => :'String'
42
+ }
43
+ end
44
+
45
+ # List of attributes with nullable: true
46
+ def self.openapi_nullable
47
+ Set.new([
48
+ ])
49
+ end
50
+
51
+ # Initializes the object
52
+ # @param [Hash] attributes Model attributes in the form of hash
53
+ def initialize(attributes = {})
54
+ if (!attributes.is_a?(Hash))
55
+ fail ArgumentError, "The input argument (attributes) must be a hash in `OryHydraClient::Message` initialize method"
56
+ end
57
+
58
+ # check to see if the attribute exists and convert string to symbol for hash key
59
+ attributes = attributes.each_with_object({}) { |(k, v), h|
60
+ if (!self.class.attribute_map.key?(k.to_sym))
61
+ fail ArgumentError, "`#{k}` is not a valid attribute in `OryHydraClient::Message`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
62
+ end
63
+ h[k.to_sym] = v
64
+ }
65
+
66
+ if attributes.key?(:'context')
67
+ self.context = attributes[:'context']
68
+ end
69
+
70
+ if attributes.key?(:'id')
71
+ self.id = attributes[:'id']
72
+ end
73
+
74
+ if attributes.key?(:'text')
75
+ self.text = attributes[:'text']
76
+ end
77
+
78
+ if attributes.key?(:'type')
79
+ self.type = attributes[:'type']
80
+ end
81
+ end
82
+
83
+ # Show invalid properties with the reasons. Usually used together with valid?
84
+ # @return Array for valid properties with the reasons
85
+ def list_invalid_properties
86
+ invalid_properties = Array.new
87
+ invalid_properties
88
+ end
89
+
90
+ # Check to see if the all the properties in the model are valid
91
+ # @return true if the model is valid
92
+ def valid?
93
+ true
94
+ end
95
+
96
+ # Checks equality by comparing each attribute.
97
+ # @param [Object] Object to be compared
98
+ def ==(o)
99
+ return true if self.equal?(o)
100
+ self.class == o.class &&
101
+ context == o.context &&
102
+ id == o.id &&
103
+ text == o.text &&
104
+ type == o.type
105
+ end
106
+
107
+ # @see the `==` method
108
+ # @param [Object] Object to be compared
109
+ def eql?(o)
110
+ self == o
111
+ end
112
+
113
+ # Calculates hash code according to all attributes.
114
+ # @return [Integer] Hash code
115
+ def hash
116
+ [context, id, text, type].hash
117
+ end
118
+
119
+ # Builds the object from hash
120
+ # @param [Hash] attributes Model attributes in the form of hash
121
+ # @return [Object] Returns the model itself
122
+ def self.build_from_hash(attributes)
123
+ new.build_from_hash(attributes)
124
+ end
125
+
126
+ # Builds the object from hash
127
+ # @param [Hash] attributes Model attributes in the form of hash
128
+ # @return [Object] Returns the model itself
129
+ def build_from_hash(attributes)
130
+ return nil unless attributes.is_a?(Hash)
131
+ self.class.openapi_types.each_pair do |key, type|
132
+ if 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[self.class.attribute_map[key]].is_a?(Array)
136
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
137
+ end
138
+ elsif !attributes[self.class.attribute_map[key]].nil?
139
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
140
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
141
+ end
142
+
143
+ self
144
+ end
145
+
146
+ # Deserializes the data based on type
147
+ # @param string type Data type
148
+ # @param string value Value to be deserialized
149
+ # @return [Object] Deserialized data
150
+ def _deserialize(type, value)
151
+ case type.to_sym
152
+ when :DateTime
153
+ DateTime.parse(value)
154
+ when :Date
155
+ Date.parse(value)
156
+ when :String
157
+ value.to_s
158
+ when :Integer
159
+ value.to_i
160
+ when :Float
161
+ value.to_f
162
+ when :Boolean
163
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
164
+ true
165
+ else
166
+ false
167
+ end
168
+ when :Object
169
+ # generic object (usually a Hash), return directly
170
+ value
171
+ when /\AArray<(?<inner_type>.+)>\z/
172
+ inner_type = Regexp.last_match[:inner_type]
173
+ value.map { |v| _deserialize(inner_type, v) }
174
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
175
+ k_type = Regexp.last_match[:k_type]
176
+ v_type = Regexp.last_match[:v_type]
177
+ {}.tap do |hash|
178
+ value.each do |k, v|
179
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
180
+ end
181
+ end
182
+ else # model
183
+ OryHydraClient.const_get(type).build_from_hash(value)
184
+ end
185
+ end
186
+
187
+ # Returns the string representation of the object
188
+ # @return [String] String presentation of the object
189
+ def to_s
190
+ to_hash.to_s
191
+ end
192
+
193
+ # to_body is an alias to to_hash (backward compatibility)
194
+ # @return [Hash] Returns the object in the form of hash
195
+ def to_body
196
+ to_hash
197
+ end
198
+
199
+ # Returns the object in the form of hash
200
+ # @return [Hash] Returns the object in the form of hash
201
+ def to_hash
202
+ hash = {}
203
+ self.class.attribute_map.each_pair do |attr, param|
204
+ value = self.send(attr)
205
+ if value.nil?
206
+ is_nullable = self.class.openapi_nullable.include?(attr)
207
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
208
+ end
209
+
210
+ hash[param] = _to_hash(value)
211
+ end
212
+ hash
213
+ end
214
+
215
+ # Outputs non-array value in the form of hash
216
+ # For object, use to_hash. Otherwise, just return the value
217
+ # @param [Object] value Any valid value
218
+ # @return [Hash] Returns the value in the form of hash
219
+ def _to_hash(value)
220
+ if value.is_a?(Array)
221
+ value.compact.map { |v| _to_hash(v) }
222
+ elsif value.is_a?(Hash)
223
+ {}.tap do |hash|
224
+ value.each { |k, v| hash[k] = _to_hash(v) }
225
+ end
226
+ elsif value.respond_to? :to_hash
227
+ value.to_hash
228
+ else
229
+ value
230
+ end
231
+ end
232
+ end
233
+ end
@@ -3,10 +3,10 @@
3
3
 
4
4
  #Welcome to the ORY Kratos HTTP API documentation!
5
5
 
6
- The version of the OpenAPI document: latest
6
+ The version of the OpenAPI document: v0.4.6-alpha.1
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 4.2.3
9
+ OpenAPI Generator version: 4.3.1
10
10
 
11
11
  =end
12
12
 
@@ -0,0 +1,239 @@
1
+ =begin
2
+ #Ory Kratos
3
+
4
+ #Welcome to the ORY Kratos HTTP API documentation!
5
+
6
+ The version of the OpenAPI document: v0.4.6-alpha.1
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 4.3.1
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module OryHydraClient
16
+ class RecoveryAddress
17
+ attr_accessor :id
18
+
19
+ attr_accessor :value
20
+
21
+ attr_accessor :via
22
+
23
+ # Attribute mapping from ruby-style variable name to JSON key.
24
+ def self.attribute_map
25
+ {
26
+ :'id' => :'id',
27
+ :'value' => :'value',
28
+ :'via' => :'via'
29
+ }
30
+ end
31
+
32
+ # Attribute type mapping.
33
+ def self.openapi_types
34
+ {
35
+ :'id' => :'String',
36
+ :'value' => :'String',
37
+ :'via' => :'String'
38
+ }
39
+ end
40
+
41
+ # List of attributes with nullable: true
42
+ def self.openapi_nullable
43
+ Set.new([
44
+ ])
45
+ end
46
+
47
+ # Initializes the object
48
+ # @param [Hash] attributes Model attributes in the form of hash
49
+ def initialize(attributes = {})
50
+ if (!attributes.is_a?(Hash))
51
+ fail ArgumentError, "The input argument (attributes) must be a hash in `OryHydraClient::RecoveryAddress` initialize method"
52
+ end
53
+
54
+ # check to see if the attribute exists and convert string to symbol for hash key
55
+ attributes = attributes.each_with_object({}) { |(k, v), h|
56
+ if (!self.class.attribute_map.key?(k.to_sym))
57
+ fail ArgumentError, "`#{k}` is not a valid attribute in `OryHydraClient::RecoveryAddress`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
58
+ end
59
+ h[k.to_sym] = v
60
+ }
61
+
62
+ if attributes.key?(:'id')
63
+ self.id = attributes[:'id']
64
+ end
65
+
66
+ if attributes.key?(:'value')
67
+ self.value = attributes[:'value']
68
+ end
69
+
70
+ if attributes.key?(:'via')
71
+ self.via = attributes[:'via']
72
+ end
73
+ end
74
+
75
+ # Show invalid properties with the reasons. Usually used together with valid?
76
+ # @return Array for valid properties with the reasons
77
+ def list_invalid_properties
78
+ invalid_properties = Array.new
79
+ if @id.nil?
80
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
81
+ end
82
+
83
+ if @value.nil?
84
+ invalid_properties.push('invalid value for "value", value cannot be nil.')
85
+ end
86
+
87
+ if @via.nil?
88
+ invalid_properties.push('invalid value for "via", via cannot be nil.')
89
+ end
90
+
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
+ return false if @id.nil?
98
+ return false if @value.nil?
99
+ return false if @via.nil?
100
+ true
101
+ end
102
+
103
+ # Checks equality by comparing each attribute.
104
+ # @param [Object] Object to be compared
105
+ def ==(o)
106
+ return true if self.equal?(o)
107
+ self.class == o.class &&
108
+ id == o.id &&
109
+ value == o.value &&
110
+ via == o.via
111
+ end
112
+
113
+ # @see the `==` method
114
+ # @param [Object] Object to be compared
115
+ def eql?(o)
116
+ self == o
117
+ end
118
+
119
+ # Calculates hash code according to all attributes.
120
+ # @return [Integer] Hash code
121
+ def hash
122
+ [id, value, via].hash
123
+ end
124
+
125
+ # Builds the object from hash
126
+ # @param [Hash] attributes Model attributes in the form of hash
127
+ # @return [Object] Returns the model itself
128
+ def self.build_from_hash(attributes)
129
+ new.build_from_hash(attributes)
130
+ end
131
+
132
+ # Builds the object from hash
133
+ # @param [Hash] attributes Model attributes in the form of hash
134
+ # @return [Object] Returns the model itself
135
+ def build_from_hash(attributes)
136
+ return nil unless attributes.is_a?(Hash)
137
+ self.class.openapi_types.each_pair do |key, type|
138
+ if 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 # or else data not found in attributes(hash), not an issue as the data can be optional
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 :DateTime
159
+ DateTime.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
+ OryHydraClient.const_get(type).build_from_hash(value)
190
+ end
191
+ end
192
+
193
+ # Returns the string representation of the object
194
+ # @return [String] String presentation of the object
195
+ def to_s
196
+ to_hash.to_s
197
+ end
198
+
199
+ # to_body is an alias to to_hash (backward compatibility)
200
+ # @return [Hash] Returns the object in the form of hash
201
+ def to_body
202
+ to_hash
203
+ end
204
+
205
+ # Returns the object in the form of hash
206
+ # @return [Hash] Returns the object in the form of hash
207
+ def to_hash
208
+ hash = {}
209
+ self.class.attribute_map.each_pair do |attr, param|
210
+ value = self.send(attr)
211
+ if value.nil?
212
+ is_nullable = self.class.openapi_nullable.include?(attr)
213
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
214
+ end
215
+
216
+ hash[param] = _to_hash(value)
217
+ end
218
+ hash
219
+ end
220
+
221
+ # Outputs non-array value in the form of hash
222
+ # For object, use to_hash. Otherwise, just return the value
223
+ # @param [Object] value Any valid value
224
+ # @return [Hash] Returns the value in the form of hash
225
+ def _to_hash(value)
226
+ if value.is_a?(Array)
227
+ value.compact.map { |v| _to_hash(v) }
228
+ elsif value.is_a?(Hash)
229
+ {}.tap do |hash|
230
+ value.each { |k, v| hash[k] = _to_hash(v) }
231
+ end
232
+ elsif value.respond_to? :to_hash
233
+ value.to_hash
234
+ else
235
+ value
236
+ end
237
+ end
238
+ end
239
+ end