ory-oathkeeper-client 0.0.0.alpha38

Sign up to get free protection for your applications and to get access to all the features.
Files changed (296) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/README.md +184 -0
  4. data/Rakefile +10 -0
  5. data/docs/ApiApi.md +450 -0
  6. data/docs/CreateRuleCreated.md +18 -0
  7. data/docs/CreateRuleForbidden.md +18 -0
  8. data/docs/CreateRuleForbiddenBody.md +28 -0
  9. data/docs/CreateRuleInternalServerError.md +18 -0
  10. data/docs/CreateRuleInternalServerErrorBody.md +28 -0
  11. data/docs/CreateRuleUnauthorized.md +18 -0
  12. data/docs/CreateRuleUnauthorizedBody.md +28 -0
  13. data/docs/DecisionsForbidden.md +18 -0
  14. data/docs/DecisionsForbiddenBody.md +28 -0
  15. data/docs/DecisionsInternalServerError.md +18 -0
  16. data/docs/DecisionsInternalServerErrorBody.md +28 -0
  17. data/docs/DecisionsNotFound.md +18 -0
  18. data/docs/DecisionsNotFoundBody.md +28 -0
  19. data/docs/DecisionsUnauthorized.md +18 -0
  20. data/docs/DecisionsUnauthorizedBody.md +28 -0
  21. data/docs/DeleteRuleForbidden.md +18 -0
  22. data/docs/DeleteRuleForbiddenBody.md +28 -0
  23. data/docs/DeleteRuleInternalServerError.md +18 -0
  24. data/docs/DeleteRuleInternalServerErrorBody.md +28 -0
  25. data/docs/DeleteRuleNotFound.md +18 -0
  26. data/docs/DeleteRuleNotFoundBody.md +28 -0
  27. data/docs/DeleteRuleUnauthorized.md +18 -0
  28. data/docs/DeleteRuleUnauthorizedBody.md +28 -0
  29. data/docs/GetRuleForbidden.md +18 -0
  30. data/docs/GetRuleForbiddenBody.md +28 -0
  31. data/docs/GetRuleInternalServerError.md +18 -0
  32. data/docs/GetRuleInternalServerErrorBody.md +28 -0
  33. data/docs/GetRuleNotFound.md +18 -0
  34. data/docs/GetRuleNotFoundBody.md +28 -0
  35. data/docs/GetRuleOK.md +18 -0
  36. data/docs/GetRuleUnauthorized.md +18 -0
  37. data/docs/GetRuleUnauthorizedBody.md +28 -0
  38. data/docs/GetWellKnownForbidden.md +18 -0
  39. data/docs/GetWellKnownForbiddenBody.md +28 -0
  40. data/docs/GetWellKnownJSONWebKeysInternalServerError.md +18 -0
  41. data/docs/GetWellKnownJSONWebKeysInternalServerErrorBody.md +28 -0
  42. data/docs/GetWellKnownJSONWebKeysOK.md +18 -0
  43. data/docs/GetWellKnownOK.md +18 -0
  44. data/docs/GetWellKnownUnauthorized.md +18 -0
  45. data/docs/GetWellKnownUnauthorizedBody.md +28 -0
  46. data/docs/HealthApi.md +96 -0
  47. data/docs/HealthNotReadyStatus.md +18 -0
  48. data/docs/HealthStatus.md +18 -0
  49. data/docs/InlineResponse500.md +28 -0
  50. data/docs/IsInstanceAliveInternalServerError.md +18 -0
  51. data/docs/IsInstanceAliveInternalServerErrorBody.md +28 -0
  52. data/docs/IsInstanceAliveOK.md +18 -0
  53. data/docs/JsonWebKey.md +50 -0
  54. data/docs/JsonWebKeySet.md +18 -0
  55. data/docs/JudgeForbidden.md +18 -0
  56. data/docs/JudgeForbiddenBody.md +28 -0
  57. data/docs/JudgeInternalServerError.md +18 -0
  58. data/docs/JudgeInternalServerErrorBody.md +28 -0
  59. data/docs/JudgeNotFound.md +18 -0
  60. data/docs/JudgeNotFoundBody.md +28 -0
  61. data/docs/JudgeUnauthorized.md +18 -0
  62. data/docs/JudgeUnauthorizedBody.md +28 -0
  63. data/docs/ListRulesForbidden.md +18 -0
  64. data/docs/ListRulesForbiddenBody.md +28 -0
  65. data/docs/ListRulesInternalServerError.md +18 -0
  66. data/docs/ListRulesInternalServerErrorBody.md +28 -0
  67. data/docs/ListRulesOK.md +18 -0
  68. data/docs/ListRulesUnauthorized.md +18 -0
  69. data/docs/ListRulesUnauthorizedBody.md +28 -0
  70. data/docs/Rule.md +30 -0
  71. data/docs/RuleHandler.md +20 -0
  72. data/docs/RuleMatch.md +20 -0
  73. data/docs/SwaggerCreateRuleParameters.md +18 -0
  74. data/docs/SwaggerGetRuleParameters.md +18 -0
  75. data/docs/SwaggerHealthStatus.md +18 -0
  76. data/docs/SwaggerJSONWebKey.md +50 -0
  77. data/docs/SwaggerJSONWebKeySet.md +18 -0
  78. data/docs/SwaggerListRulesParameters.md +20 -0
  79. data/docs/SwaggerNotReadyStatus.md +18 -0
  80. data/docs/SwaggerRule.md +30 -0
  81. data/docs/SwaggerRuleHandler.md +20 -0
  82. data/docs/SwaggerRuleMatch.md +20 -0
  83. data/docs/SwaggerRuleResponse.md +18 -0
  84. data/docs/SwaggerRulesResponse.md +18 -0
  85. data/docs/SwaggerUpdateRuleParameters.md +20 -0
  86. data/docs/SwaggerVersion.md +18 -0
  87. data/docs/UpdateRuleForbidden.md +18 -0
  88. data/docs/UpdateRuleForbiddenBody.md +28 -0
  89. data/docs/UpdateRuleInternalServerError.md +18 -0
  90. data/docs/UpdateRuleInternalServerErrorBody.md +28 -0
  91. data/docs/UpdateRuleNotFound.md +18 -0
  92. data/docs/UpdateRuleNotFoundBody.md +28 -0
  93. data/docs/UpdateRuleOK.md +18 -0
  94. data/docs/UpdateRuleUnauthorized.md +18 -0
  95. data/docs/UpdateRuleUnauthorizedBody.md +28 -0
  96. data/docs/Upstream.md +22 -0
  97. data/docs/Version.md +18 -0
  98. data/docs/VersionApi.md +52 -0
  99. data/lib/ory-oathkeeper-client.rb +131 -0
  100. data/lib/ory-oathkeeper-client/api/api_api.rb +433 -0
  101. data/lib/ory-oathkeeper-client/api/health_api.rb +134 -0
  102. data/lib/ory-oathkeeper-client/api/version_api.rb +78 -0
  103. data/lib/ory-oathkeeper-client/api_client.rb +389 -0
  104. data/lib/ory-oathkeeper-client/api_error.rb +57 -0
  105. data/lib/ory-oathkeeper-client/configuration.rb +270 -0
  106. data/lib/ory-oathkeeper-client/models/create_rule_created.rb +219 -0
  107. data/lib/ory-oathkeeper-client/models/create_rule_forbidden.rb +219 -0
  108. data/lib/ory-oathkeeper-client/models/create_rule_forbidden_body.rb +272 -0
  109. data/lib/ory-oathkeeper-client/models/create_rule_internal_server_error.rb +219 -0
  110. data/lib/ory-oathkeeper-client/models/create_rule_internal_server_error_body.rb +272 -0
  111. data/lib/ory-oathkeeper-client/models/create_rule_unauthorized.rb +219 -0
  112. data/lib/ory-oathkeeper-client/models/create_rule_unauthorized_body.rb +272 -0
  113. data/lib/ory-oathkeeper-client/models/decisions_forbidden.rb +219 -0
  114. data/lib/ory-oathkeeper-client/models/decisions_forbidden_body.rb +272 -0
  115. data/lib/ory-oathkeeper-client/models/decisions_internal_server_error.rb +219 -0
  116. data/lib/ory-oathkeeper-client/models/decisions_internal_server_error_body.rb +272 -0
  117. data/lib/ory-oathkeeper-client/models/decisions_not_found.rb +219 -0
  118. data/lib/ory-oathkeeper-client/models/decisions_not_found_body.rb +272 -0
  119. data/lib/ory-oathkeeper-client/models/decisions_unauthorized.rb +219 -0
  120. data/lib/ory-oathkeeper-client/models/decisions_unauthorized_body.rb +272 -0
  121. data/lib/ory-oathkeeper-client/models/delete_rule_forbidden.rb +219 -0
  122. data/lib/ory-oathkeeper-client/models/delete_rule_forbidden_body.rb +272 -0
  123. data/lib/ory-oathkeeper-client/models/delete_rule_internal_server_error.rb +219 -0
  124. data/lib/ory-oathkeeper-client/models/delete_rule_internal_server_error_body.rb +272 -0
  125. data/lib/ory-oathkeeper-client/models/delete_rule_not_found.rb +219 -0
  126. data/lib/ory-oathkeeper-client/models/delete_rule_not_found_body.rb +272 -0
  127. data/lib/ory-oathkeeper-client/models/delete_rule_unauthorized.rb +219 -0
  128. data/lib/ory-oathkeeper-client/models/delete_rule_unauthorized_body.rb +272 -0
  129. data/lib/ory-oathkeeper-client/models/get_rule_forbidden.rb +219 -0
  130. data/lib/ory-oathkeeper-client/models/get_rule_forbidden_body.rb +272 -0
  131. data/lib/ory-oathkeeper-client/models/get_rule_internal_server_error.rb +219 -0
  132. data/lib/ory-oathkeeper-client/models/get_rule_internal_server_error_body.rb +272 -0
  133. data/lib/ory-oathkeeper-client/models/get_rule_not_found.rb +219 -0
  134. data/lib/ory-oathkeeper-client/models/get_rule_not_found_body.rb +272 -0
  135. data/lib/ory-oathkeeper-client/models/get_rule_ok.rb +219 -0
  136. data/lib/ory-oathkeeper-client/models/get_rule_unauthorized.rb +219 -0
  137. data/lib/ory-oathkeeper-client/models/get_rule_unauthorized_body.rb +272 -0
  138. data/lib/ory-oathkeeper-client/models/get_well_known_forbidden.rb +219 -0
  139. data/lib/ory-oathkeeper-client/models/get_well_known_forbidden_body.rb +272 -0
  140. data/lib/ory-oathkeeper-client/models/get_well_known_json_web_keys_internal_server_error.rb +219 -0
  141. data/lib/ory-oathkeeper-client/models/get_well_known_json_web_keys_internal_server_error_body.rb +272 -0
  142. data/lib/ory-oathkeeper-client/models/get_well_known_json_web_keys_ok.rb +219 -0
  143. data/lib/ory-oathkeeper-client/models/get_well_known_ok.rb +219 -0
  144. data/lib/ory-oathkeeper-client/models/get_well_known_unauthorized.rb +219 -0
  145. data/lib/ory-oathkeeper-client/models/get_well_known_unauthorized_body.rb +272 -0
  146. data/lib/ory-oathkeeper-client/models/health_not_ready_status.rb +221 -0
  147. data/lib/ory-oathkeeper-client/models/health_status.rb +219 -0
  148. data/lib/ory-oathkeeper-client/models/inline_response500.rb +265 -0
  149. data/lib/ory-oathkeeper-client/models/is_instance_alive_internal_server_error.rb +219 -0
  150. data/lib/ory-oathkeeper-client/models/is_instance_alive_internal_server_error_body.rb +272 -0
  151. data/lib/ory-oathkeeper-client/models/is_instance_alive_ok.rb +219 -0
  152. data/lib/ory-oathkeeper-client/models/json_web_key.rb +369 -0
  153. data/lib/ory-oathkeeper-client/models/json_web_key_set.rb +221 -0
  154. data/lib/ory-oathkeeper-client/models/judge_forbidden.rb +219 -0
  155. data/lib/ory-oathkeeper-client/models/judge_forbidden_body.rb +272 -0
  156. data/lib/ory-oathkeeper-client/models/judge_internal_server_error.rb +219 -0
  157. data/lib/ory-oathkeeper-client/models/judge_internal_server_error_body.rb +272 -0
  158. data/lib/ory-oathkeeper-client/models/judge_not_found.rb +219 -0
  159. data/lib/ory-oathkeeper-client/models/judge_not_found_body.rb +272 -0
  160. data/lib/ory-oathkeeper-client/models/judge_unauthorized.rb +219 -0
  161. data/lib/ory-oathkeeper-client/models/judge_unauthorized_body.rb +272 -0
  162. data/lib/ory-oathkeeper-client/models/list_rules_forbidden.rb +219 -0
  163. data/lib/ory-oathkeeper-client/models/list_rules_forbidden_body.rb +272 -0
  164. data/lib/ory-oathkeeper-client/models/list_rules_internal_server_error.rb +219 -0
  165. data/lib/ory-oathkeeper-client/models/list_rules_internal_server_error_body.rb +272 -0
  166. data/lib/ory-oathkeeper-client/models/list_rules_ok.rb +222 -0
  167. data/lib/ory-oathkeeper-client/models/list_rules_unauthorized.rb +219 -0
  168. data/lib/ory-oathkeeper-client/models/list_rules_unauthorized_body.rb +272 -0
  169. data/lib/ory-oathkeeper-client/models/rule.rb +280 -0
  170. data/lib/ory-oathkeeper-client/models/rule_handler.rb +229 -0
  171. data/lib/ory-oathkeeper-client/models/rule_match.rb +231 -0
  172. data/lib/ory-oathkeeper-client/models/swagger_create_rule_parameters.rb +219 -0
  173. data/lib/ory-oathkeeper-client/models/swagger_get_rule_parameters.rb +225 -0
  174. data/lib/ory-oathkeeper-client/models/swagger_health_status.rb +220 -0
  175. data/lib/ory-oathkeeper-client/models/swagger_json_web_key.rb +382 -0
  176. data/lib/ory-oathkeeper-client/models/swagger_json_web_key_set.rb +222 -0
  177. data/lib/ory-oathkeeper-client/models/swagger_list_rules_parameters.rb +230 -0
  178. data/lib/ory-oathkeeper-client/models/swagger_not_ready_status.rb +222 -0
  179. data/lib/ory-oathkeeper-client/models/swagger_rule.rb +280 -0
  180. data/lib/ory-oathkeeper-client/models/swagger_rule_handler.rb +230 -0
  181. data/lib/ory-oathkeeper-client/models/swagger_rule_match.rb +232 -0
  182. data/lib/ory-oathkeeper-client/models/swagger_rule_response.rb +219 -0
  183. data/lib/ory-oathkeeper-client/models/swagger_rules_response.rb +222 -0
  184. data/lib/ory-oathkeeper-client/models/swagger_update_rule_parameters.rb +234 -0
  185. data/lib/ory-oathkeeper-client/models/swagger_version.rb +220 -0
  186. data/lib/ory-oathkeeper-client/models/update_rule_forbidden.rb +219 -0
  187. data/lib/ory-oathkeeper-client/models/update_rule_forbidden_body.rb +272 -0
  188. data/lib/ory-oathkeeper-client/models/update_rule_internal_server_error.rb +219 -0
  189. data/lib/ory-oathkeeper-client/models/update_rule_internal_server_error_body.rb +272 -0
  190. data/lib/ory-oathkeeper-client/models/update_rule_not_found.rb +219 -0
  191. data/lib/ory-oathkeeper-client/models/update_rule_not_found_body.rb +272 -0
  192. data/lib/ory-oathkeeper-client/models/update_rule_ok.rb +219 -0
  193. data/lib/ory-oathkeeper-client/models/update_rule_unauthorized.rb +219 -0
  194. data/lib/ory-oathkeeper-client/models/update_rule_unauthorized_body.rb +272 -0
  195. data/lib/ory-oathkeeper-client/models/upstream.rb +240 -0
  196. data/lib/ory-oathkeeper-client/models/version.rb +219 -0
  197. data/lib/ory-oathkeeper-client/version.rb +15 -0
  198. data/ory-oathkeeper-client.gemspec +38 -0
  199. data/spec/api/api_api_spec.rb +115 -0
  200. data/spec/api/health_api_spec.rb +57 -0
  201. data/spec/api/version_api_spec.rb +46 -0
  202. data/spec/api_client_spec.rb +226 -0
  203. data/spec/configuration_spec.rb +42 -0
  204. data/spec/models/create_rule_created_spec.rb +41 -0
  205. data/spec/models/create_rule_forbidden_body_spec.rb +71 -0
  206. data/spec/models/create_rule_forbidden_spec.rb +41 -0
  207. data/spec/models/create_rule_internal_server_error_body_spec.rb +71 -0
  208. data/spec/models/create_rule_internal_server_error_spec.rb +41 -0
  209. data/spec/models/create_rule_unauthorized_body_spec.rb +71 -0
  210. data/spec/models/create_rule_unauthorized_spec.rb +41 -0
  211. data/spec/models/decisions_forbidden_body_spec.rb +71 -0
  212. data/spec/models/decisions_forbidden_spec.rb +41 -0
  213. data/spec/models/decisions_internal_server_error_body_spec.rb +71 -0
  214. data/spec/models/decisions_internal_server_error_spec.rb +41 -0
  215. data/spec/models/decisions_not_found_body_spec.rb +71 -0
  216. data/spec/models/decisions_not_found_spec.rb +41 -0
  217. data/spec/models/decisions_unauthorized_body_spec.rb +71 -0
  218. data/spec/models/decisions_unauthorized_spec.rb +41 -0
  219. data/spec/models/delete_rule_forbidden_body_spec.rb +71 -0
  220. data/spec/models/delete_rule_forbidden_spec.rb +41 -0
  221. data/spec/models/delete_rule_internal_server_error_body_spec.rb +71 -0
  222. data/spec/models/delete_rule_internal_server_error_spec.rb +41 -0
  223. data/spec/models/delete_rule_not_found_body_spec.rb +71 -0
  224. data/spec/models/delete_rule_not_found_spec.rb +41 -0
  225. data/spec/models/delete_rule_unauthorized_body_spec.rb +71 -0
  226. data/spec/models/delete_rule_unauthorized_spec.rb +41 -0
  227. data/spec/models/get_rule_forbidden_body_spec.rb +71 -0
  228. data/spec/models/get_rule_forbidden_spec.rb +41 -0
  229. data/spec/models/get_rule_internal_server_error_body_spec.rb +71 -0
  230. data/spec/models/get_rule_internal_server_error_spec.rb +41 -0
  231. data/spec/models/get_rule_not_found_body_spec.rb +71 -0
  232. data/spec/models/get_rule_not_found_spec.rb +41 -0
  233. data/spec/models/get_rule_ok_spec.rb +41 -0
  234. data/spec/models/get_rule_unauthorized_body_spec.rb +71 -0
  235. data/spec/models/get_rule_unauthorized_spec.rb +41 -0
  236. data/spec/models/get_well_known_forbidden_body_spec.rb +71 -0
  237. data/spec/models/get_well_known_forbidden_spec.rb +41 -0
  238. data/spec/models/get_well_known_json_web_keys_internal_server_error_body_spec.rb +71 -0
  239. data/spec/models/get_well_known_json_web_keys_internal_server_error_spec.rb +41 -0
  240. data/spec/models/get_well_known_json_web_keys_ok_spec.rb +41 -0
  241. data/spec/models/get_well_known_ok_spec.rb +41 -0
  242. data/spec/models/get_well_known_unauthorized_body_spec.rb +71 -0
  243. data/spec/models/get_well_known_unauthorized_spec.rb +41 -0
  244. data/spec/models/health_not_ready_status_spec.rb +41 -0
  245. data/spec/models/health_status_spec.rb +41 -0
  246. data/spec/models/inline_response500_spec.rb +71 -0
  247. data/spec/models/is_instance_alive_internal_server_error_body_spec.rb +71 -0
  248. data/spec/models/is_instance_alive_internal_server_error_spec.rb +41 -0
  249. data/spec/models/is_instance_alive_ok_spec.rb +41 -0
  250. data/spec/models/json_web_key_set_spec.rb +41 -0
  251. data/spec/models/json_web_key_spec.rb +137 -0
  252. data/spec/models/judge_forbidden_body_spec.rb +71 -0
  253. data/spec/models/judge_forbidden_spec.rb +41 -0
  254. data/spec/models/judge_internal_server_error_body_spec.rb +71 -0
  255. data/spec/models/judge_internal_server_error_spec.rb +41 -0
  256. data/spec/models/judge_not_found_body_spec.rb +71 -0
  257. data/spec/models/judge_not_found_spec.rb +41 -0
  258. data/spec/models/judge_unauthorized_body_spec.rb +71 -0
  259. data/spec/models/judge_unauthorized_spec.rb +41 -0
  260. data/spec/models/list_rules_forbidden_body_spec.rb +71 -0
  261. data/spec/models/list_rules_forbidden_spec.rb +41 -0
  262. data/spec/models/list_rules_internal_server_error_body_spec.rb +71 -0
  263. data/spec/models/list_rules_internal_server_error_spec.rb +41 -0
  264. data/spec/models/list_rules_ok_spec.rb +41 -0
  265. data/spec/models/list_rules_unauthorized_body_spec.rb +71 -0
  266. data/spec/models/list_rules_unauthorized_spec.rb +41 -0
  267. data/spec/models/rule_handler_spec.rb +47 -0
  268. data/spec/models/rule_match_spec.rb +47 -0
  269. data/spec/models/rule_spec.rb +77 -0
  270. data/spec/models/swagger_create_rule_parameters_spec.rb +41 -0
  271. data/spec/models/swagger_get_rule_parameters_spec.rb +41 -0
  272. data/spec/models/swagger_health_status_spec.rb +41 -0
  273. data/spec/models/swagger_json_web_key_set_spec.rb +41 -0
  274. data/spec/models/swagger_json_web_key_spec.rb +137 -0
  275. data/spec/models/swagger_list_rules_parameters_spec.rb +47 -0
  276. data/spec/models/swagger_not_ready_status_spec.rb +41 -0
  277. data/spec/models/swagger_rule_handler_spec.rb +47 -0
  278. data/spec/models/swagger_rule_match_spec.rb +47 -0
  279. data/spec/models/swagger_rule_response_spec.rb +41 -0
  280. data/spec/models/swagger_rule_spec.rb +77 -0
  281. data/spec/models/swagger_rules_response_spec.rb +41 -0
  282. data/spec/models/swagger_update_rule_parameters_spec.rb +47 -0
  283. data/spec/models/swagger_version_spec.rb +41 -0
  284. data/spec/models/update_rule_forbidden_body_spec.rb +71 -0
  285. data/spec/models/update_rule_forbidden_spec.rb +41 -0
  286. data/spec/models/update_rule_internal_server_error_body_spec.rb +71 -0
  287. data/spec/models/update_rule_internal_server_error_spec.rb +41 -0
  288. data/spec/models/update_rule_not_found_body_spec.rb +71 -0
  289. data/spec/models/update_rule_not_found_spec.rb +41 -0
  290. data/spec/models/update_rule_ok_spec.rb +41 -0
  291. data/spec/models/update_rule_unauthorized_body_spec.rb +71 -0
  292. data/spec/models/update_rule_unauthorized_spec.rb +41 -0
  293. data/spec/models/upstream_spec.rb +53 -0
  294. data/spec/models/version_spec.rb +41 -0
  295. data/spec/spec_helper.rb +111 -0
  296. metadata +477 -0
@@ -0,0 +1,225 @@
1
+ =begin
2
+ #ORY Oathkeeper
3
+
4
+ #ORY Oathkeeper is a reverse proxy that checks the HTTP Authorization for validity against a set of rules. This service uses Hydra to validate access tokens and policies.
5
+
6
+ The version of the OpenAPI document: v0.0.0-alpha.38
7
+ Contact: hi@ory.am
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.2.1
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module OryOathkeeperClient
17
+ # SwaggerGetRuleParameters swagger get rule parameters
18
+ class SwaggerGetRuleParameters
19
+ # in: path
20
+ attr_accessor :id
21
+
22
+ # Attribute mapping from ruby-style variable name to JSON key.
23
+ def self.attribute_map
24
+ {
25
+ :'id' => :'id'
26
+ }
27
+ end
28
+
29
+ # Returns all the JSON keys this model knows about
30
+ def self.acceptable_attributes
31
+ attribute_map.values
32
+ end
33
+
34
+ # Attribute type mapping.
35
+ def self.openapi_types
36
+ {
37
+ :'id' => :'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 `OryOathkeeperClient::SwaggerGetRuleParameters` 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 `OryOathkeeperClient::SwaggerGetRuleParameters`. 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
+ end
66
+
67
+ # Show invalid properties with the reasons. Usually used together with valid?
68
+ # @return Array for valid properties with the reasons
69
+ def list_invalid_properties
70
+ invalid_properties = Array.new
71
+ if @id.nil?
72
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
73
+ end
74
+
75
+ invalid_properties
76
+ end
77
+
78
+ # Check to see if the all the properties in the model are valid
79
+ # @return true if the model is valid
80
+ def valid?
81
+ return false if @id.nil?
82
+ true
83
+ end
84
+
85
+ # Checks equality by comparing each attribute.
86
+ # @param [Object] Object to be compared
87
+ def ==(o)
88
+ return true if self.equal?(o)
89
+ self.class == o.class &&
90
+ id == o.id
91
+ end
92
+
93
+ # @see the `==` method
94
+ # @param [Object] Object to be compared
95
+ def eql?(o)
96
+ self == o
97
+ end
98
+
99
+ # Calculates hash code according to all attributes.
100
+ # @return [Integer] Hash code
101
+ def hash
102
+ [id].hash
103
+ end
104
+
105
+ # Builds the object from hash
106
+ # @param [Hash] attributes Model attributes in the form of hash
107
+ # @return [Object] Returns the model itself
108
+ def self.build_from_hash(attributes)
109
+ new.build_from_hash(attributes)
110
+ end
111
+
112
+ # Builds the object from hash
113
+ # @param [Hash] attributes Model attributes in the form of hash
114
+ # @return [Object] Returns the model itself
115
+ def build_from_hash(attributes)
116
+ return nil unless attributes.is_a?(Hash)
117
+ self.class.openapi_types.each_pair do |key, type|
118
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
119
+ self.send("#{key}=", nil)
120
+ elsif type =~ /\AArray<(.*)>/i
121
+ # check to ensure the input is an array given that the attribute
122
+ # is documented as an array but the input is not
123
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
124
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
125
+ end
126
+ elsif !attributes[self.class.attribute_map[key]].nil?
127
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
128
+ end
129
+ end
130
+
131
+ self
132
+ end
133
+
134
+ # Deserializes the data based on type
135
+ # @param string type Data type
136
+ # @param string value Value to be deserialized
137
+ # @return [Object] Deserialized data
138
+ def _deserialize(type, value)
139
+ case type.to_sym
140
+ when :Time
141
+ Time.parse(value)
142
+ when :Date
143
+ Date.parse(value)
144
+ when :String
145
+ value.to_s
146
+ when :Integer
147
+ value.to_i
148
+ when :Float
149
+ value.to_f
150
+ when :Boolean
151
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
152
+ true
153
+ else
154
+ false
155
+ end
156
+ when :Object
157
+ # generic object (usually a Hash), return directly
158
+ value
159
+ when /\AArray<(?<inner_type>.+)>\z/
160
+ inner_type = Regexp.last_match[:inner_type]
161
+ value.map { |v| _deserialize(inner_type, v) }
162
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
163
+ k_type = Regexp.last_match[:k_type]
164
+ v_type = Regexp.last_match[:v_type]
165
+ {}.tap do |hash|
166
+ value.each do |k, v|
167
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
168
+ end
169
+ end
170
+ else # model
171
+ # models (e.g. Pet) or oneOf
172
+ klass = OryOathkeeperClient.const_get(type)
173
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
174
+ end
175
+ end
176
+
177
+ # Returns the string representation of the object
178
+ # @return [String] String presentation of the object
179
+ def to_s
180
+ to_hash.to_s
181
+ end
182
+
183
+ # to_body is an alias to to_hash (backward compatibility)
184
+ # @return [Hash] Returns the object in the form of hash
185
+ def to_body
186
+ to_hash
187
+ end
188
+
189
+ # Returns the object in the form of hash
190
+ # @return [Hash] Returns the object in the form of hash
191
+ def to_hash
192
+ hash = {}
193
+ self.class.attribute_map.each_pair do |attr, param|
194
+ value = self.send(attr)
195
+ if value.nil?
196
+ is_nullable = self.class.openapi_nullable.include?(attr)
197
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
198
+ end
199
+
200
+ hash[param] = _to_hash(value)
201
+ end
202
+ hash
203
+ end
204
+
205
+ # Outputs non-array value in the form of hash
206
+ # For object, use to_hash. Otherwise, just return the value
207
+ # @param [Object] value Any valid value
208
+ # @return [Hash] Returns the value in the form of hash
209
+ def _to_hash(value)
210
+ if value.is_a?(Array)
211
+ value.compact.map { |v| _to_hash(v) }
212
+ elsif value.is_a?(Hash)
213
+ {}.tap do |hash|
214
+ value.each { |k, v| hash[k] = _to_hash(v) }
215
+ end
216
+ elsif value.respond_to? :to_hash
217
+ value.to_hash
218
+ else
219
+ value
220
+ end
221
+ end
222
+
223
+ end
224
+
225
+ end
@@ -0,0 +1,220 @@
1
+ =begin
2
+ #ORY Oathkeeper
3
+
4
+ #ORY Oathkeeper is a reverse proxy that checks the HTTP Authorization for validity against a set of rules. This service uses Hydra to validate access tokens and policies.
5
+
6
+ The version of the OpenAPI document: v0.0.0-alpha.38
7
+ Contact: hi@ory.am
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.2.1
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module OryOathkeeperClient
17
+ # SwaggerHealthStatus swagger health status
18
+ class SwaggerHealthStatus
19
+ # Status always contains \"ok\".
20
+ attr_accessor :status
21
+
22
+ # Attribute mapping from ruby-style variable name to JSON key.
23
+ def self.attribute_map
24
+ {
25
+ :'status' => :'status'
26
+ }
27
+ end
28
+
29
+ # Returns all the JSON keys this model knows about
30
+ def self.acceptable_attributes
31
+ attribute_map.values
32
+ end
33
+
34
+ # Attribute type mapping.
35
+ def self.openapi_types
36
+ {
37
+ :'status' => :'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 `OryOathkeeperClient::SwaggerHealthStatus` 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 `OryOathkeeperClient::SwaggerHealthStatus`. 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?(:'status')
63
+ self.status = attributes[:'status']
64
+ end
65
+ end
66
+
67
+ # Show invalid properties with the reasons. Usually used together with valid?
68
+ # @return Array for valid properties with the reasons
69
+ def list_invalid_properties
70
+ invalid_properties = Array.new
71
+ invalid_properties
72
+ end
73
+
74
+ # Check to see if the all the properties in the model are valid
75
+ # @return true if the model is valid
76
+ def valid?
77
+ true
78
+ end
79
+
80
+ # Checks equality by comparing each attribute.
81
+ # @param [Object] Object to be compared
82
+ def ==(o)
83
+ return true if self.equal?(o)
84
+ self.class == o.class &&
85
+ status == o.status
86
+ end
87
+
88
+ # @see the `==` method
89
+ # @param [Object] Object to be compared
90
+ def eql?(o)
91
+ self == o
92
+ end
93
+
94
+ # Calculates hash code according to all attributes.
95
+ # @return [Integer] Hash code
96
+ def hash
97
+ [status].hash
98
+ end
99
+
100
+ # Builds the object from hash
101
+ # @param [Hash] attributes Model attributes in the form of hash
102
+ # @return [Object] Returns the model itself
103
+ def self.build_from_hash(attributes)
104
+ new.build_from_hash(attributes)
105
+ end
106
+
107
+ # Builds the object from hash
108
+ # @param [Hash] attributes Model attributes in the form of hash
109
+ # @return [Object] Returns the model itself
110
+ def build_from_hash(attributes)
111
+ return nil unless attributes.is_a?(Hash)
112
+ self.class.openapi_types.each_pair do |key, type|
113
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
114
+ self.send("#{key}=", nil)
115
+ elsif type =~ /\AArray<(.*)>/i
116
+ # check to ensure the input is an array given that the attribute
117
+ # is documented as an array but the input is not
118
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
119
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
120
+ end
121
+ elsif !attributes[self.class.attribute_map[key]].nil?
122
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
123
+ end
124
+ end
125
+
126
+ self
127
+ end
128
+
129
+ # Deserializes the data based on type
130
+ # @param string type Data type
131
+ # @param string value Value to be deserialized
132
+ # @return [Object] Deserialized data
133
+ def _deserialize(type, value)
134
+ case type.to_sym
135
+ when :Time
136
+ Time.parse(value)
137
+ when :Date
138
+ Date.parse(value)
139
+ when :String
140
+ value.to_s
141
+ when :Integer
142
+ value.to_i
143
+ when :Float
144
+ value.to_f
145
+ when :Boolean
146
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
147
+ true
148
+ else
149
+ false
150
+ end
151
+ when :Object
152
+ # generic object (usually a Hash), return directly
153
+ value
154
+ when /\AArray<(?<inner_type>.+)>\z/
155
+ inner_type = Regexp.last_match[:inner_type]
156
+ value.map { |v| _deserialize(inner_type, v) }
157
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
158
+ k_type = Regexp.last_match[:k_type]
159
+ v_type = Regexp.last_match[:v_type]
160
+ {}.tap do |hash|
161
+ value.each do |k, v|
162
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
163
+ end
164
+ end
165
+ else # model
166
+ # models (e.g. Pet) or oneOf
167
+ klass = OryOathkeeperClient.const_get(type)
168
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
169
+ end
170
+ end
171
+
172
+ # Returns the string representation of the object
173
+ # @return [String] String presentation of the object
174
+ def to_s
175
+ to_hash.to_s
176
+ end
177
+
178
+ # to_body is an alias to to_hash (backward compatibility)
179
+ # @return [Hash] Returns the object in the form of hash
180
+ def to_body
181
+ to_hash
182
+ end
183
+
184
+ # Returns the object in the form of hash
185
+ # @return [Hash] Returns the object in the form of hash
186
+ def to_hash
187
+ hash = {}
188
+ self.class.attribute_map.each_pair do |attr, param|
189
+ value = self.send(attr)
190
+ if value.nil?
191
+ is_nullable = self.class.openapi_nullable.include?(attr)
192
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
193
+ end
194
+
195
+ hash[param] = _to_hash(value)
196
+ end
197
+ hash
198
+ end
199
+
200
+ # Outputs non-array value in the form of hash
201
+ # For object, use to_hash. Otherwise, just return the value
202
+ # @param [Object] value Any valid value
203
+ # @return [Hash] Returns the value in the form of hash
204
+ def _to_hash(value)
205
+ if value.is_a?(Array)
206
+ value.compact.map { |v| _to_hash(v) }
207
+ elsif value.is_a?(Hash)
208
+ {}.tap do |hash|
209
+ value.each { |k, v| hash[k] = _to_hash(v) }
210
+ end
211
+ elsif value.respond_to? :to_hash
212
+ value.to_hash
213
+ else
214
+ value
215
+ end
216
+ end
217
+
218
+ end
219
+
220
+ end
@@ -0,0 +1,382 @@
1
+ =begin
2
+ #ORY Oathkeeper
3
+
4
+ #ORY Oathkeeper is a reverse proxy that checks the HTTP Authorization for validity against a set of rules. This service uses Hydra to validate access tokens and policies.
5
+
6
+ The version of the OpenAPI document: v0.0.0-alpha.38
7
+ Contact: hi@ory.am
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.2.1
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module OryOathkeeperClient
17
+ # SwaggerJSONWebKey swagger JSON web key
18
+ class SwaggerJSONWebKey
19
+ # The \"alg\" (algorithm) parameter identifies the algorithm intended for use with the key. The values used should either be registered in the IANA \"JSON Web Signature and Encryption Algorithms\" registry established by [JWA] or be a value that contains a Collision- Resistant Name.
20
+ attr_accessor :alg
21
+
22
+ # crv
23
+ attr_accessor :crv
24
+
25
+ # d
26
+ attr_accessor :d
27
+
28
+ # dp
29
+ attr_accessor :dp
30
+
31
+ # dq
32
+ attr_accessor :dq
33
+
34
+ # e
35
+ attr_accessor :e
36
+
37
+ # k
38
+ attr_accessor :k
39
+
40
+ # The \"kid\" (key ID) parameter is used to match a specific key. This is used, for instance, to choose among a set of keys within a JWK Set during key rollover. The structure of the \"kid\" value is unspecified. When \"kid\" values are used within a JWK Set, different keys within the JWK Set SHOULD use distinct \"kid\" values. (One example in which different keys might use the same \"kid\" value is if they have different \"kty\" (key type) values but are considered to be equivalent alternatives by the application using them.) The \"kid\" value is a case-sensitive string.
41
+ attr_accessor :kid
42
+
43
+ # The \"kty\" (key type) parameter identifies the cryptographic algorithm family used with the key, such as \"RSA\" or \"EC\". \"kty\" values should either be registered in the IANA \"JSON Web Key Types\" registry established by [JWA] or be a value that contains a Collision- Resistant Name. The \"kty\" value is a case-sensitive string.
44
+ attr_accessor :kty
45
+
46
+ # n
47
+ attr_accessor :n
48
+
49
+ # p
50
+ attr_accessor :p
51
+
52
+ # q
53
+ attr_accessor :q
54
+
55
+ # qi
56
+ attr_accessor :qi
57
+
58
+ # The \"use\" (public key use) parameter identifies the intended use of the public key. The \"use\" parameter is employed to indicate whether a public key is used for encrypting data or verifying the signature on data. Values are commonly \"sig\" (signature) or \"enc\" (encryption).
59
+ attr_accessor :use
60
+
61
+ # x
62
+ attr_accessor :x
63
+
64
+ # The \"x5c\" (X.509 certificate chain) parameter contains a chain of one or more PKIX certificates [RFC5280]. The certificate chain is represented as a JSON array of certificate value strings. Each string in the array is a base64-encoded (Section 4 of [RFC4648] -- not base64url-encoded) DER [ITU.X690.1994] PKIX certificate value. The PKIX certificate containing the key value MUST be the first certificate.
65
+ attr_accessor :x5c
66
+
67
+ # y
68
+ attr_accessor :y
69
+
70
+ # Attribute mapping from ruby-style variable name to JSON key.
71
+ def self.attribute_map
72
+ {
73
+ :'alg' => :'alg',
74
+ :'crv' => :'crv',
75
+ :'d' => :'d',
76
+ :'dp' => :'dp',
77
+ :'dq' => :'dq',
78
+ :'e' => :'e',
79
+ :'k' => :'k',
80
+ :'kid' => :'kid',
81
+ :'kty' => :'kty',
82
+ :'n' => :'n',
83
+ :'p' => :'p',
84
+ :'q' => :'q',
85
+ :'qi' => :'qi',
86
+ :'use' => :'use',
87
+ :'x' => :'x',
88
+ :'x5c' => :'x5c',
89
+ :'y' => :'y'
90
+ }
91
+ end
92
+
93
+ # Returns all the JSON keys this model knows about
94
+ def self.acceptable_attributes
95
+ attribute_map.values
96
+ end
97
+
98
+ # Attribute type mapping.
99
+ def self.openapi_types
100
+ {
101
+ :'alg' => :'String',
102
+ :'crv' => :'String',
103
+ :'d' => :'String',
104
+ :'dp' => :'String',
105
+ :'dq' => :'String',
106
+ :'e' => :'String',
107
+ :'k' => :'String',
108
+ :'kid' => :'String',
109
+ :'kty' => :'String',
110
+ :'n' => :'String',
111
+ :'p' => :'String',
112
+ :'q' => :'String',
113
+ :'qi' => :'String',
114
+ :'use' => :'String',
115
+ :'x' => :'String',
116
+ :'x5c' => :'Array<String>',
117
+ :'y' => :'String'
118
+ }
119
+ end
120
+
121
+ # List of attributes with nullable: true
122
+ def self.openapi_nullable
123
+ Set.new([
124
+ ])
125
+ end
126
+
127
+ # Initializes the object
128
+ # @param [Hash] attributes Model attributes in the form of hash
129
+ def initialize(attributes = {})
130
+ if (!attributes.is_a?(Hash))
131
+ fail ArgumentError, "The input argument (attributes) must be a hash in `OryOathkeeperClient::SwaggerJSONWebKey` initialize method"
132
+ end
133
+
134
+ # check to see if the attribute exists and convert string to symbol for hash key
135
+ attributes = attributes.each_with_object({}) { |(k, v), h|
136
+ if (!self.class.attribute_map.key?(k.to_sym))
137
+ fail ArgumentError, "`#{k}` is not a valid attribute in `OryOathkeeperClient::SwaggerJSONWebKey`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
138
+ end
139
+ h[k.to_sym] = v
140
+ }
141
+
142
+ if attributes.key?(:'alg')
143
+ self.alg = attributes[:'alg']
144
+ end
145
+
146
+ if attributes.key?(:'crv')
147
+ self.crv = attributes[:'crv']
148
+ end
149
+
150
+ if attributes.key?(:'d')
151
+ self.d = attributes[:'d']
152
+ end
153
+
154
+ if attributes.key?(:'dp')
155
+ self.dp = attributes[:'dp']
156
+ end
157
+
158
+ if attributes.key?(:'dq')
159
+ self.dq = attributes[:'dq']
160
+ end
161
+
162
+ if attributes.key?(:'e')
163
+ self.e = attributes[:'e']
164
+ end
165
+
166
+ if attributes.key?(:'k')
167
+ self.k = attributes[:'k']
168
+ end
169
+
170
+ if attributes.key?(:'kid')
171
+ self.kid = attributes[:'kid']
172
+ end
173
+
174
+ if attributes.key?(:'kty')
175
+ self.kty = attributes[:'kty']
176
+ end
177
+
178
+ if attributes.key?(:'n')
179
+ self.n = attributes[:'n']
180
+ end
181
+
182
+ if attributes.key?(:'p')
183
+ self.p = attributes[:'p']
184
+ end
185
+
186
+ if attributes.key?(:'q')
187
+ self.q = attributes[:'q']
188
+ end
189
+
190
+ if attributes.key?(:'qi')
191
+ self.qi = attributes[:'qi']
192
+ end
193
+
194
+ if attributes.key?(:'use')
195
+ self.use = attributes[:'use']
196
+ end
197
+
198
+ if attributes.key?(:'x')
199
+ self.x = attributes[:'x']
200
+ end
201
+
202
+ if attributes.key?(:'x5c')
203
+ if (value = attributes[:'x5c']).is_a?(Array)
204
+ self.x5c = value
205
+ end
206
+ end
207
+
208
+ if attributes.key?(:'y')
209
+ self.y = attributes[:'y']
210
+ end
211
+ end
212
+
213
+ # Show invalid properties with the reasons. Usually used together with valid?
214
+ # @return Array for valid properties with the reasons
215
+ def list_invalid_properties
216
+ invalid_properties = Array.new
217
+ invalid_properties
218
+ end
219
+
220
+ # Check to see if the all the properties in the model are valid
221
+ # @return true if the model is valid
222
+ def valid?
223
+ true
224
+ end
225
+
226
+ # Checks equality by comparing each attribute.
227
+ # @param [Object] Object to be compared
228
+ def ==(o)
229
+ return true if self.equal?(o)
230
+ self.class == o.class &&
231
+ alg == o.alg &&
232
+ crv == o.crv &&
233
+ d == o.d &&
234
+ dp == o.dp &&
235
+ dq == o.dq &&
236
+ e == o.e &&
237
+ k == o.k &&
238
+ kid == o.kid &&
239
+ kty == o.kty &&
240
+ n == o.n &&
241
+ p == o.p &&
242
+ q == o.q &&
243
+ qi == o.qi &&
244
+ use == o.use &&
245
+ x == o.x &&
246
+ x5c == o.x5c &&
247
+ y == o.y
248
+ end
249
+
250
+ # @see the `==` method
251
+ # @param [Object] Object to be compared
252
+ def eql?(o)
253
+ self == o
254
+ end
255
+
256
+ # Calculates hash code according to all attributes.
257
+ # @return [Integer] Hash code
258
+ def hash
259
+ [alg, crv, d, dp, dq, e, k, kid, kty, n, p, q, qi, use, x, x5c, y].hash
260
+ end
261
+
262
+ # Builds the object from hash
263
+ # @param [Hash] attributes Model attributes in the form of hash
264
+ # @return [Object] Returns the model itself
265
+ def self.build_from_hash(attributes)
266
+ new.build_from_hash(attributes)
267
+ end
268
+
269
+ # Builds the object from hash
270
+ # @param [Hash] attributes Model attributes in the form of hash
271
+ # @return [Object] Returns the model itself
272
+ def build_from_hash(attributes)
273
+ return nil unless attributes.is_a?(Hash)
274
+ self.class.openapi_types.each_pair do |key, type|
275
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
276
+ self.send("#{key}=", nil)
277
+ elsif type =~ /\AArray<(.*)>/i
278
+ # check to ensure the input is an array given that the attribute
279
+ # is documented as an array but the input is not
280
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
281
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
282
+ end
283
+ elsif !attributes[self.class.attribute_map[key]].nil?
284
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
285
+ end
286
+ end
287
+
288
+ self
289
+ end
290
+
291
+ # Deserializes the data based on type
292
+ # @param string type Data type
293
+ # @param string value Value to be deserialized
294
+ # @return [Object] Deserialized data
295
+ def _deserialize(type, value)
296
+ case type.to_sym
297
+ when :Time
298
+ Time.parse(value)
299
+ when :Date
300
+ Date.parse(value)
301
+ when :String
302
+ value.to_s
303
+ when :Integer
304
+ value.to_i
305
+ when :Float
306
+ value.to_f
307
+ when :Boolean
308
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
309
+ true
310
+ else
311
+ false
312
+ end
313
+ when :Object
314
+ # generic object (usually a Hash), return directly
315
+ value
316
+ when /\AArray<(?<inner_type>.+)>\z/
317
+ inner_type = Regexp.last_match[:inner_type]
318
+ value.map { |v| _deserialize(inner_type, v) }
319
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
320
+ k_type = Regexp.last_match[:k_type]
321
+ v_type = Regexp.last_match[:v_type]
322
+ {}.tap do |hash|
323
+ value.each do |k, v|
324
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
325
+ end
326
+ end
327
+ else # model
328
+ # models (e.g. Pet) or oneOf
329
+ klass = OryOathkeeperClient.const_get(type)
330
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
331
+ end
332
+ end
333
+
334
+ # Returns the string representation of the object
335
+ # @return [String] String presentation of the object
336
+ def to_s
337
+ to_hash.to_s
338
+ end
339
+
340
+ # to_body is an alias to to_hash (backward compatibility)
341
+ # @return [Hash] Returns the object in the form of hash
342
+ def to_body
343
+ to_hash
344
+ end
345
+
346
+ # Returns the object in the form of hash
347
+ # @return [Hash] Returns the object in the form of hash
348
+ def to_hash
349
+ hash = {}
350
+ self.class.attribute_map.each_pair do |attr, param|
351
+ value = self.send(attr)
352
+ if value.nil?
353
+ is_nullable = self.class.openapi_nullable.include?(attr)
354
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
355
+ end
356
+
357
+ hash[param] = _to_hash(value)
358
+ end
359
+ hash
360
+ end
361
+
362
+ # Outputs non-array value in the form of hash
363
+ # For object, use to_hash. Otherwise, just return the value
364
+ # @param [Object] value Any valid value
365
+ # @return [Hash] Returns the value in the form of hash
366
+ def _to_hash(value)
367
+ if value.is_a?(Array)
368
+ value.compact.map { |v| _to_hash(v) }
369
+ elsif value.is_a?(Hash)
370
+ {}.tap do |hash|
371
+ value.each { |k, v| hash[k] = _to_hash(v) }
372
+ end
373
+ elsif value.respond_to? :to_hash
374
+ value.to_hash
375
+ else
376
+ value
377
+ end
378
+ end
379
+
380
+ end
381
+
382
+ end