plainrouter-sdk 0.1.1 → 0.5.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 (233) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +11 -4
  3. data/lib/plainrouter/client.rb +75 -2
  4. data/lib/plainrouter/openapi/api/action_dry_run_api_api.rb +96 -0
  5. data/lib/plainrouter/openapi/api/action_proposal_api_api.rb +96 -0
  6. data/lib/plainrouter/openapi/api/action_read_api_api.rb +404 -0
  7. data/lib/plainrouter/openapi/api/ad_test_api_api.rb +259 -0
  8. data/lib/plainrouter/openapi/api/cookie_declaration_api.rb +90 -0
  9. data/lib/plainrouter/openapi/api/creative_api.rb +181 -0
  10. data/lib/plainrouter/openapi/api/deployment_plan_api.rb +306 -0
  11. data/lib/plainrouter/openapi/api/event_api.rb +15 -15
  12. data/lib/plainrouter/openapi/api/meta_inventory_exposure_api.rb +121 -0
  13. data/lib/plainrouter/openapi/api/operations_api.rb +24 -28
  14. data/lib/plainrouter/openapi/api/sandbox_api.rb +74 -17
  15. data/lib/plainrouter/openapi/api_client.rb +2 -2
  16. data/lib/plainrouter/openapi/api_error.rb +2 -2
  17. data/lib/plainrouter/openapi/api_model_base.rb +2 -2
  18. data/lib/plainrouter/openapi/configuration.rb +52 -3
  19. data/lib/plainrouter/openapi/models/action_batch_read.rb +164 -0
  20. data/lib/plainrouter/openapi/models/action_batch_read_data.rb +450 -0
  21. data/lib/plainrouter/openapi/models/action_current_disposition.rb +306 -0
  22. data/lib/plainrouter/openapi/models/action_current_disposition_outcome_payload.rb +238 -0
  23. data/lib/plainrouter/openapi/models/action_current_disposition_outcome_payload_baseline.rb +103 -0
  24. data/lib/plainrouter/openapi/models/action_current_disposition_outcome_payload_baseline_any_of.rb +245 -0
  25. data/lib/plainrouter/openapi/models/action_current_disposition_outcome_payload_inverse.rb +206 -0
  26. data/lib/plainrouter/openapi/models/action_current_disposition_outcome_payload_metrics.rb +103 -0
  27. data/lib/plainrouter/openapi/models/action_current_disposition_outcome_payload_metrics_any_of.rb +276 -0
  28. data/lib/plainrouter/openapi/models/action_decision_receipt_read.rb +244 -0
  29. data/lib/plainrouter/openapi/models/action_decision_receipt_read_chain_entry.rb +190 -0
  30. data/lib/plainrouter/openapi/models/action_detail_read.rb +164 -0
  31. data/lib/plainrouter/openapi/models/action_dry_run_read.rb +164 -0
  32. data/lib/plainrouter/openapi/models/action_dry_run_read_dry_run.rb +166 -0
  33. data/lib/plainrouter/openapi/models/action_dry_run_read_dry_run_actions_inner.rb +103 -0
  34. data/lib/plainrouter/openapi/models/action_dry_run_read_dry_run_actions_inner_any_of.rb +376 -0
  35. data/lib/plainrouter/openapi/models/action_dry_run_read_dry_run_actions_inner_any_of1.rb +268 -0
  36. data/lib/plainrouter/openapi/models/action_dry_run_read_dry_run_actions_inner_any_of_diff.rb +162 -0
  37. data/lib/plainrouter/openapi/models/action_dry_run_read_dry_run_actions_inner_any_of_target_entity.rb +199 -0
  38. data/lib/plainrouter/openapi/models/action_list_read.rb +192 -0
  39. data/lib/plainrouter/openapi/models/action_list_read_meta.rb +242 -0
  40. data/lib/plainrouter/openapi/models/action_policy_read.rb +164 -0
  41. data/lib/plainrouter/openapi/models/action_policy_read_data.rb +278 -0
  42. data/lib/plainrouter/openapi/models/action_policy_result.rb +374 -0
  43. data/lib/plainrouter/openapi/models/action_proposal_input.rb +406 -0
  44. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner.rb +115 -0
  45. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of.rb +303 -0
  46. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of1.rb +303 -0
  47. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of10.rb +303 -0
  48. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of10_params.rb +356 -0
  49. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of11.rb +303 -0
  50. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of11_params.rb +173 -0
  51. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of12.rb +303 -0
  52. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of12_params.rb +188 -0
  53. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of13.rb +303 -0
  54. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of13_params.rb +259 -0
  55. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of2.rb +303 -0
  56. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of3.rb +303 -0
  57. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of4.rb +303 -0
  58. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of4_target_entity.rb +253 -0
  59. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of5.rb +303 -0
  60. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of6.rb +303 -0
  61. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of7.rb +303 -0
  62. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of8.rb +303 -0
  63. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of9.rb +303 -0
  64. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of_params.rb +173 -0
  65. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of_target_entity.rb +264 -0
  66. data/lib/plainrouter/openapi/models/action_proposal_input_evidence_inner.rb +262 -0
  67. data/lib/plainrouter/openapi/models/action_proposal_read.rb +164 -0
  68. data/lib/plainrouter/openapi/models/action_proposal_read_proposal.rb +452 -0
  69. data/lib/plainrouter/openapi/models/action_proposal_read_proposal_actions_inner.rb +386 -0
  70. data/lib/plainrouter/openapi/models/action_proposal_read_proposal_actions_inner_params.rb +103 -0
  71. data/lib/plainrouter/openapi/models/action_proposal_read_proposal_proposed_by.rb +202 -0
  72. data/lib/plainrouter/openapi/models/action_read_item.rb +574 -0
  73. data/lib/plainrouter/openapi/models/action_read_item_evidence.rb +105 -0
  74. data/lib/plainrouter/openapi/models/action_read_item_evidence_any_of.rb +190 -0
  75. data/lib/plainrouter/openapi/models/action_read_item_evidence_any_of1.rb +242 -0
  76. data/lib/plainrouter/openapi/models/action_read_item_evidence_any_of2.rb +217 -0
  77. data/lib/plainrouter/openapi/models/action_read_item_evidence_any_of_outcome.rb +238 -0
  78. data/lib/plainrouter/openapi/models/action_read_item_proposer.rb +198 -0
  79. data/lib/plainrouter/openapi/models/actions_api_dry_run401_response.rb +103 -0
  80. data/lib/plainrouter/openapi/models/actions_tests_api_index404_response.rb +103 -0
  81. data/lib/plainrouter/openapi/models/actions_tests_api_store_request.rb +467 -0
  82. data/lib/plainrouter/openapi/models/actions_tests_api_store_request_maximum_spend_minor.rb +104 -0
  83. data/lib/plainrouter/openapi/models/ad_test.rb +552 -0
  84. data/lib/plainrouter/openapi/models/ad_test_create_read.rb +164 -0
  85. data/lib/plainrouter/openapi/models/ad_test_create_read_test.rb +675 -0
  86. data/lib/plainrouter/openapi/models/ad_test_create_read_test_members_inner.rb +232 -0
  87. data/lib/plainrouter/openapi/models/ad_test_create_read_test_pause_proposals_inner.rb +286 -0
  88. data/lib/plainrouter/openapi/models/ad_test_create_read_test_verdict.rb +336 -0
  89. data/lib/plainrouter/openapi/models/ad_test_create_read_test_verdict_daily_facts_inner.rb +374 -0
  90. data/lib/plainrouter/openapi/models/ad_test_create_read_test_verdict_halt_details.rb +285 -0
  91. data/lib/plainrouter/openapi/models/ad_test_create_read_test_verdict_halt_details_baseline.rb +190 -0
  92. data/lib/plainrouter/openapi/models/ad_test_create_read_test_verdict_halt_details_observed_destinations_inner.rb +216 -0
  93. data/lib/plainrouter/openapi/models/ad_test_create_read_test_verdict_members_inner.rb +349 -0
  94. data/lib/plainrouter/openapi/models/ad_test_daily_fact_read.rb +374 -0
  95. data/lib/plainrouter/openapi/models/ad_test_event_choice.rb +190 -0
  96. data/lib/plainrouter/openapi/models/ad_test_list_read.rb +218 -0
  97. data/lib/plainrouter/openapi/models/ad_test_list_read_observed_conversion_events_inner.rb +190 -0
  98. data/lib/plainrouter/openapi/models/ad_test_list_read_tests.rb +396 -0
  99. data/lib/plainrouter/openapi/models/ad_test_read.rb +675 -0
  100. data/lib/plainrouter/openapi/models/ad_test_show_read.rb +164 -0
  101. data/lib/plainrouter/openapi/models/ad_test_verdict_member_read.rb +349 -0
  102. data/lib/plainrouter/openapi/models/ad_test_verdict_read.rb +336 -0
  103. data/lib/plainrouter/openapi/models/agent_credential_error.rb +214 -0
  104. data/lib/plainrouter/openapi/models/api_route_not_found.rb +216 -0
  105. data/lib/plainrouter/openapi/models/api_route_not_found_error.rb +240 -0
  106. data/lib/plainrouter/openapi/models/api_route_not_found_request.rb +190 -0
  107. data/lib/plainrouter/openapi/models/api_route_not_found_resources.rb +190 -0
  108. data/lib/plainrouter/openapi/models/cookie_declaration.rb +177 -0
  109. data/lib/plainrouter/openapi/models/cookie_declaration_categories.rb +268 -0
  110. data/lib/plainrouter/openapi/models/cookie_declaration_categories_necessary.rb +194 -0
  111. data/lib/plainrouter/openapi/models/cookie_declaration_item.rb +280 -0
  112. data/lib/plainrouter/openapi/models/create_event200_response.rb +2 -2
  113. data/lib/plainrouter/openapi/models/create_event202_response.rb +218 -0
  114. data/lib/plainrouter/openapi/models/create_event202_response_warnings_inner.rb +240 -0
  115. data/lib/plainrouter/openapi/models/create_event_request.rb +2 -2
  116. data/lib/plainrouter/openapi/models/create_event_request_any_of.rb +3 -3
  117. data/lib/plainrouter/openapi/models/create_event_request_any_of1.rb +3 -3
  118. data/lib/plainrouter/openapi/models/create_event_request_any_of_event_time.rb +2 -2
  119. data/lib/plainrouter/openapi/models/create_event_request_any_of_value_data.rb +2 -2
  120. data/lib/plainrouter/openapi/models/creative_intake_read.rb +164 -0
  121. data/lib/plainrouter/openapi/models/creative_intake_read_creative.rb +451 -0
  122. data/lib/plainrouter/openapi/models/creative_intake_read_creative_tags.rb +104 -0
  123. data/lib/plainrouter/openapi/models/creative_intake_rejected.rb +164 -0
  124. data/lib/plainrouter/openapi/models/creative_intake_rejected_error.rb +190 -0
  125. data/lib/plainrouter/openapi/models/creative_intake_tags.rb +257 -0
  126. data/lib/plainrouter/openapi/models/delete_user_data200_response.rb +2 -2
  127. data/lib/plainrouter/openapi/models/delete_user_data_request.rb +35 -36
  128. data/lib/plainrouter/openapi/models/delivery_status.rb +2 -2
  129. data/lib/plainrouter/openapi/models/deployment_plan.rb +593 -0
  130. data/lib/plainrouter/openapi/models/deployment_plan_read.rb +268 -0
  131. data/lib/plainrouter/openapi/models/deployment_plan_read_copy.rb +266 -0
  132. data/lib/plainrouter/openapi/models/deployment_plan_read_creatives_inner.rb +320 -0
  133. data/lib/plainrouter/openapi/models/deployment_plan_read_creatives_inner_copy.rb +267 -0
  134. data/lib/plainrouter/openapi/models/destination.rb +30 -3
  135. data/lib/plainrouter/openapi/models/destination_credential_source.rb +3 -4
  136. data/lib/plainrouter/openapi/models/destination_status.rb +2 -2
  137. data/lib/plainrouter/openapi/models/destination_type.rb +4 -3
  138. data/lib/plainrouter/openapi/models/emq_snapshot.rb +30 -3
  139. data/lib/plainrouter/openapi/models/error_message.rb +2 -2
  140. data/lib/plainrouter/openapi/models/event.rb +89 -45
  141. data/lib/plainrouter/openapi/models/execute_deployment_plan_request.rb +200 -0
  142. data/lib/plainrouter/openapi/models/get_cookie_declaration404_response.rb +103 -0
  143. data/lib/plainrouter/openapi/models/get_emq_report200_response.rb +2 -2
  144. data/lib/plainrouter/openapi/models/get_emq_report200_response_snapshots_inner.rb +30 -3
  145. data/lib/plainrouter/openapi/models/get_event200_response.rb +2 -2
  146. data/lib/plainrouter/openapi/models/get_event200_response_deliveries_inner.rb +30 -3
  147. data/lib/plainrouter/openapi/models/get_event200_response_event.rb +31 -4
  148. data/lib/plainrouter/openapi/models/get_event200_response_event_consent.rb +2 -2
  149. data/lib/plainrouter/openapi/models/get_event200_response_event_deliveries_inner.rb +30 -3
  150. data/lib/plainrouter/openapi/models/get_event200_response_event_user_data_hashed.rb +104 -0
  151. data/lib/plainrouter/openapi/models/get_event200_response_lineage.rb +2 -2
  152. data/lib/plainrouter/openapi/models/get_event200_response_lineage_children_inner.rb +31 -4
  153. data/lib/plainrouter/openapi/models/get_event200_response_lineage_parent.rb +31 -4
  154. data/lib/plainrouter/openapi/models/get_inventory_metrics200_response.rb +324 -0
  155. data/lib/plainrouter/openapi/models/get_inventory_metrics200_response_account.rb +264 -0
  156. data/lib/plainrouter/openapi/models/get_inventory_metrics200_response_changes_inner.rb +304 -0
  157. data/lib/plainrouter/openapi/models/get_inventory_metrics200_response_effective_range.rb +190 -0
  158. data/lib/plainrouter/openapi/models/get_inventory_metrics200_response_metrics_inner.rb +492 -0
  159. data/lib/plainrouter/openapi/models/get_inventory_metrics200_response_object_metrics_inner.rb +304 -0
  160. data/lib/plainrouter/openapi/models/get_inventory_metrics200_response_object_metrics_inner_meta.rb +268 -0
  161. data/lib/plainrouter/openapi/models/get_inventory_metrics200_response_staleness.rb +200 -0
  162. data/lib/plainrouter/openapi/models/get_inventory_metrics200_response_sync.rb +186 -0
  163. data/lib/plainrouter/openapi/models/get_reconciliation_report200_response.rb +2 -2
  164. data/lib/plainrouter/openapi/models/get_reconciliation_report200_response_reports_inner.rb +30 -3
  165. data/lib/plainrouter/openapi/models/get_reconciliation_report200_response_reports_inner_buckets_value.rb +2 -2
  166. data/lib/plainrouter/openapi/models/get_reconciliation_report200_response_reports_inner_event_counts.rb +2 -2
  167. data/lib/plainrouter/openapi/models/get_reconciliation_report200_response_reports_inner_event_counts_accepted.rb +2 -2
  168. data/lib/plainrouter/openapi/models/get_sandbox200_response.rb +2 -2
  169. data/lib/plainrouter/openapi/models/get_sandbox200_response_self_serve_key.rb +32 -6
  170. data/lib/plainrouter/openapi/models/{create_sandbox_key201_response.rb → get_sandbox200_response_self_serve_key_issued_key.rb} +6 -6
  171. data/lib/plainrouter/openapi/models/{create_sandbox_key201_response_use.rb → get_sandbox200_response_self_serve_key_issued_key_use.rb} +5 -5
  172. data/lib/plainrouter/openapi/models/get_sandbox200_response_try.rb +2 -2
  173. data/lib/plainrouter/openapi/models/get_sandbox200_response_try_body.rb +2 -2
  174. data/lib/plainrouter/openapi/models/get_sandbox200_response_try_body_value_data.rb +2 -2
  175. data/lib/plainrouter/openapi/models/ingestion_warning_code.rb +40 -0
  176. data/lib/plainrouter/openapi/models/jurisdiction_policy_class.rb +2 -2
  177. data/lib/plainrouter/openapi/models/launch_intent_read.rb +164 -0
  178. data/lib/plainrouter/openapi/models/launch_intent_read_intent.rb +330 -0
  179. data/lib/plainrouter/openapi/models/launch_intent_read_intent_actions_inner.rb +238 -0
  180. data/lib/plainrouter/openapi/models/launch_intent_status.rb +46 -0
  181. data/lib/plainrouter/openapi/models/launch_plans_copy403_response.rb +103 -0
  182. data/lib/plainrouter/openapi/models/launch_plans_copy404_response.rb +103 -0
  183. data/lib/plainrouter/openapi/models/launch_plans_execute422_response.rb +103 -0
  184. data/lib/plainrouter/openapi/models/launch_plans_index200_response.rb +164 -0
  185. data/lib/plainrouter/openapi/models/launch_plans_index200_response_plans.rb +244 -0
  186. data/lib/plainrouter/openapi/models/launch_plans_show200_response.rb +164 -0
  187. data/lib/plainrouter/openapi/models/list_events200_response.rb +2 -2
  188. data/lib/plainrouter/openapi/models/list_events200_response_events.rb +2 -2
  189. data/lib/plainrouter/openapi/models/list_events200_response_events_links_inner.rb +2 -2
  190. data/lib/plainrouter/openapi/models/list_events200_response_metrics.rb +2 -2
  191. data/lib/plainrouter/openapi/models/list_events_by_cursor200_response.rb +2 -2
  192. data/lib/plainrouter/openapi/models/list_events_by_cursor200_response_events.rb +2 -2
  193. data/lib/plainrouter/openapi/models/plan_copy_forbidden.rb +164 -0
  194. data/lib/plainrouter/openapi/models/plan_copy_forbidden_error.rb +214 -0
  195. data/lib/plainrouter/openapi/models/plan_copy_not_found.rb +164 -0
  196. data/lib/plainrouter/openapi/models/plan_copy_not_found_error.rb +214 -0
  197. data/lib/plainrouter/openapi/models/plan_copy_read.rb +164 -0
  198. data/lib/plainrouter/openapi/models/plan_copy_read_plan.rb +347 -0
  199. data/lib/plainrouter/openapi/models/plan_copy_rejected.rb +164 -0
  200. data/lib/plainrouter/openapi/models/plan_copy_rejected_error.rb +214 -0
  201. data/lib/plainrouter/openapi/models/plan_execute_conflict.rb +164 -0
  202. data/lib/plainrouter/openapi/models/plan_execute_conflict_error.rb +214 -0
  203. data/lib/plainrouter/openapi/models/plan_execute_rejected.rb +164 -0
  204. data/lib/plainrouter/openapi/models/plan_execute_rejected_error.rb +214 -0
  205. data/lib/plainrouter/openapi/models/proposal_replay_conflict.rb +214 -0
  206. data/lib/plainrouter/openapi/models/proposal_replay_conflict_errors.rb +178 -0
  207. data/lib/plainrouter/openapi/models/reconciliation_report.rb +31 -3
  208. data/lib/plainrouter/openapi/models/replay_deliveries202_response.rb +2 -2
  209. data/lib/plainrouter/openapi/models/replay_deliveries_request.rb +2 -2
  210. data/lib/plainrouter/openapi/models/send_test_purchase200_response.rb +2 -2
  211. data/lib/plainrouter/openapi/models/send_test_purchase422_response.rb +2 -2
  212. data/lib/plainrouter/openapi/models/send_test_purchase_request.rb +2 -2
  213. data/lib/plainrouter/openapi/models/set_destination_test_mode200_response.rb +2 -2
  214. data/lib/plainrouter/openapi/models/set_destination_test_mode200_response_destination.rb +30 -3
  215. data/lib/plainrouter/openapi/models/set_destination_test_mode_request.rb +2 -2
  216. data/lib/plainrouter/openapi/models/store_creative403_response.rb +103 -0
  217. data/lib/plainrouter/openapi/models/store_creative413_response.rb +103 -0
  218. data/lib/plainrouter/openapi/models/store_creative422_response.rb +103 -0
  219. data/lib/plainrouter/openapi/models/store_creative_from_url_request.rb +208 -0
  220. data/lib/plainrouter/openapi/models/store_creative_from_url_request_tags.rb +257 -0
  221. data/lib/plainrouter/openapi/models/store_creative_request.rb +219 -0
  222. data/lib/plainrouter/openapi/models/store_creative_request_tags.rb +257 -0
  223. data/lib/plainrouter/openapi/models/traffic_class.rb +2 -2
  224. data/lib/plainrouter/openapi/models/validate_sandbox_event200_response.rb +2 -2
  225. data/lib/plainrouter/openapi/models/validate_sandbox_event_request.rb +2 -2
  226. data/lib/plainrouter/openapi/models/validate_sandbox_event_request_value_data.rb +2 -2
  227. data/lib/plainrouter/openapi/models/validation_error.rb +2 -2
  228. data/lib/plainrouter/openapi/models/workspace_lock_timeout.rb +164 -0
  229. data/lib/plainrouter/openapi/models/workspace_lock_timeout_error.rb +214 -0
  230. data/lib/plainrouter/openapi/version.rb +3 -3
  231. data/lib/plainrouter/openapi.rb +164 -4
  232. data/lib/plainrouter/version.rb +1 -1
  233. metadata +167 -7
@@ -0,0 +1,103 @@
1
+ =begin
2
+ #Plainrouter Conversion API
3
+
4
+ #Plainrouter public Signals Conversion API.
5
+
6
+ The version of the OpenAPI document: 0.5.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.25.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module PlainRouter::OpenAPI
17
+ module GetCookieDeclaration404Response
18
+ class << self
19
+ # List of class defined in anyOf (OpenAPI v3)
20
+ def openapi_any_of
21
+ [
22
+ :'ApiRouteNotFound',
23
+ :'Array<String>'
24
+ ]
25
+ end
26
+
27
+ # Builds the object
28
+ # @param [Mixed] Data to be matched against the list of anyOf items
29
+ # @return [Object] Returns the model or the data itself
30
+ def build(data)
31
+ # Go through the list of anyOf items and attempt to identify the appropriate one.
32
+ # Note:
33
+ # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 })
34
+ # due to the way the deserialization is made in the base_object template (it just casts without verifying).
35
+ # - TODO: scalar values are de facto behaving as if they were nullable.
36
+ # - TODO: logging when debugging is set.
37
+ openapi_any_of.each do |klass|
38
+ begin
39
+ next if klass == :AnyType # "nullable: true"
40
+ return find_and_cast_into_type(klass, data)
41
+ rescue # rescue all errors so we keep iterating even if the current item lookup raises
42
+ end
43
+ end
44
+
45
+ openapi_any_of.include?(:AnyType) ? data : nil
46
+ end
47
+
48
+ private
49
+
50
+ SchemaMismatchError = Class.new(StandardError)
51
+
52
+ # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse.
53
+ def find_and_cast_into_type(klass, data)
54
+ return if data.nil?
55
+
56
+ case klass.to_s
57
+ when 'Boolean'
58
+ return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass)
59
+ when 'Float'
60
+ return data if data.instance_of?(Float)
61
+ when 'Integer'
62
+ return data if data.instance_of?(Integer)
63
+ when 'Time'
64
+ return Time.parse(data)
65
+ when 'Date'
66
+ return Date.iso8601(data)
67
+ when 'String'
68
+ return data if data.instance_of?(String)
69
+ when 'Object' # "type: object"
70
+ return data if data.instance_of?(Hash)
71
+ when /\AArray<(?<sub_type>.+)>\z/ # "type: array"
72
+ if data.instance_of?(Array)
73
+ sub_type = Regexp.last_match[:sub_type]
74
+ return data.map { |item| find_and_cast_into_type(sub_type, item) }
75
+ end
76
+ when /\AHash<String, (?<sub_type>.+)>\z/ # "type: object" with "additionalProperties: { ... }"
77
+ if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) }
78
+ sub_type = Regexp.last_match[:sub_type]
79
+ return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) }
80
+ end
81
+ else # model
82
+ const = PlainRouter::OpenAPI.const_get(klass)
83
+ if const
84
+ if const.respond_to?(:openapi_any_of) # nested anyOf model
85
+ model = const.build(data)
86
+ return model if model
87
+ else
88
+ # raise if data contains keys that are not known to the model
89
+ raise if const.respond_to?(:acceptable_attributes) && !(data.keys - const.acceptable_attributes).empty?
90
+ model = const.build_from_hash(data)
91
+ return model if model
92
+ end
93
+ end
94
+ end
95
+
96
+ raise # if no match by now, raise
97
+ rescue
98
+ raise SchemaMismatchError, "#{data} doesn't match the #{klass} type"
99
+ end
100
+ end
101
+ end
102
+
103
+ end
@@ -1,7 +1,7 @@
1
1
  =begin
2
- #PlainRouter Conversion API
2
+ #Plainrouter Conversion API
3
3
 
4
- #PlainRouter public Signals Conversion API.
4
+ #Plainrouter public Signals Conversion API.
5
5
 
6
6
  The version of the OpenAPI document: 0.5.0
7
7
 
@@ -1,7 +1,7 @@
1
1
  =begin
2
- #PlainRouter Conversion API
2
+ #Plainrouter Conversion API
3
3
 
4
- #PlainRouter public Signals Conversion API.
4
+ #Plainrouter public Signals Conversion API.
5
5
 
6
6
  The version of the OpenAPI document: 0.5.0
7
7
 
@@ -17,6 +17,9 @@ module PlainRouter::OpenAPI
17
17
  class GetEmqReport200ResponseSnapshotsInner < ApiModelBase
18
18
  attr_accessor :id
19
19
 
20
+ attr_accessor :workspace_id
21
+
22
+ # Deprecated alias of workspace_id; contains the workspace ID in decimal string form.
20
23
  attr_accessor :signal_tracker_id
21
24
 
22
25
  attr_accessor :destination_id
@@ -39,6 +42,7 @@ module PlainRouter::OpenAPI
39
42
  def self.attribute_map
40
43
  {
41
44
  :'id' => :'id',
45
+ :'workspace_id' => :'workspace_id',
42
46
  :'signal_tracker_id' => :'signal_tracker_id',
43
47
  :'destination_id' => :'destination_id',
44
48
  :'score' => :'score',
@@ -65,6 +69,7 @@ module PlainRouter::OpenAPI
65
69
  def self.openapi_types
66
70
  {
67
71
  :'id' => :'Integer',
72
+ :'workspace_id' => :'Integer',
68
73
  :'signal_tracker_id' => :'String',
69
74
  :'destination_id' => :'String',
70
75
  :'score' => :'Float',
@@ -109,6 +114,12 @@ module PlainRouter::OpenAPI
109
114
  self.id = nil
110
115
  end
111
116
 
117
+ if attributes.key?(:'workspace_id')
118
+ self.workspace_id = attributes[:'workspace_id']
119
+ else
120
+ self.workspace_id = nil
121
+ end
122
+
112
123
  if attributes.key?(:'signal_tracker_id')
113
124
  self.signal_tracker_id = attributes[:'signal_tracker_id']
114
125
  else
@@ -173,6 +184,10 @@ module PlainRouter::OpenAPI
173
184
  invalid_properties.push('invalid value for "id", id cannot be nil.')
174
185
  end
175
186
 
187
+ if @workspace_id.nil?
188
+ invalid_properties.push('invalid value for "workspace_id", workspace_id cannot be nil.')
189
+ end
190
+
176
191
  if @signal_tracker_id.nil?
177
192
  invalid_properties.push('invalid value for "signal_tracker_id", signal_tracker_id cannot be nil.')
178
193
  end
@@ -201,6 +216,7 @@ module PlainRouter::OpenAPI
201
216
  def valid?
202
217
  warn '[DEPRECATED] the `valid?` method is obsolete'
203
218
  return false if @id.nil?
219
+ return false if @workspace_id.nil?
204
220
  return false if @signal_tracker_id.nil?
205
221
  return false if @destination_id.nil?
206
222
  return false if @score.nil?
@@ -219,6 +235,16 @@ module PlainRouter::OpenAPI
219
235
  @id = id
220
236
  end
221
237
 
238
+ # Custom attribute writer method with validation
239
+ # @param [Object] workspace_id Value to be assigned
240
+ def workspace_id=(workspace_id)
241
+ if workspace_id.nil?
242
+ fail ArgumentError, 'workspace_id cannot be nil'
243
+ end
244
+
245
+ @workspace_id = workspace_id
246
+ end
247
+
222
248
  # Custom attribute writer method with validation
223
249
  # @param [Object] signal_tracker_id Value to be assigned
224
250
  def signal_tracker_id=(signal_tracker_id)
@@ -275,6 +301,7 @@ module PlainRouter::OpenAPI
275
301
  return true if self.equal?(o)
276
302
  self.class == o.class &&
277
303
  id == o.id &&
304
+ workspace_id == o.workspace_id &&
278
305
  signal_tracker_id == o.signal_tracker_id &&
279
306
  destination_id == o.destination_id &&
280
307
  score == o.score &&
@@ -295,7 +322,7 @@ module PlainRouter::OpenAPI
295
322
  # Calculates hash code according to all attributes.
296
323
  # @return [Integer] Hash code
297
324
  def hash
298
- [id, signal_tracker_id, destination_id, score, week_over_week_change, alerted, platform_response, measured_at, created_at, updated_at].hash
325
+ [id, workspace_id, signal_tracker_id, destination_id, score, week_over_week_change, alerted, platform_response, measured_at, created_at, updated_at].hash
299
326
  end
300
327
 
301
328
  # Builds the object from hash
@@ -1,7 +1,7 @@
1
1
  =begin
2
- #PlainRouter Conversion API
2
+ #Plainrouter Conversion API
3
3
 
4
- #PlainRouter public Signals Conversion API.
4
+ #Plainrouter public Signals Conversion API.
5
5
 
6
6
  The version of the OpenAPI document: 0.5.0
7
7
 
@@ -1,7 +1,7 @@
1
1
  =begin
2
- #PlainRouter Conversion API
2
+ #Plainrouter Conversion API
3
3
 
4
- #PlainRouter public Signals Conversion API.
4
+ #Plainrouter public Signals Conversion API.
5
5
 
6
6
  The version of the OpenAPI document: 0.5.0
7
7
 
@@ -17,6 +17,9 @@ module PlainRouter::OpenAPI
17
17
  class GetEvent200ResponseDeliveriesInner < ApiModelBase
18
18
  attr_accessor :id
19
19
 
20
+ attr_accessor :workspace_id
21
+
22
+ # Deprecated alias of workspace_id; contains the workspace ID in decimal string form.
20
23
  attr_accessor :signal_tracker_id
21
24
 
22
25
  attr_accessor :event_id
@@ -69,6 +72,7 @@ module PlainRouter::OpenAPI
69
72
  def self.attribute_map
70
73
  {
71
74
  :'id' => :'id',
75
+ :'workspace_id' => :'workspace_id',
72
76
  :'signal_tracker_id' => :'signal_tracker_id',
73
77
  :'event_id' => :'event_id',
74
78
  :'destination_id' => :'destination_id',
@@ -99,6 +103,7 @@ module PlainRouter::OpenAPI
99
103
  def self.openapi_types
100
104
  {
101
105
  :'id' => :'Integer',
106
+ :'workspace_id' => :'Integer',
102
107
  :'signal_tracker_id' => :'String',
103
108
  :'event_id' => :'String',
104
109
  :'destination_id' => :'String',
@@ -149,6 +154,12 @@ module PlainRouter::OpenAPI
149
154
  self.id = nil
150
155
  end
151
156
 
157
+ if attributes.key?(:'workspace_id')
158
+ self.workspace_id = attributes[:'workspace_id']
159
+ else
160
+ self.workspace_id = nil
161
+ end
162
+
152
163
  if attributes.key?(:'signal_tracker_id')
153
164
  self.signal_tracker_id = attributes[:'signal_tracker_id']
154
165
  else
@@ -237,6 +248,10 @@ module PlainRouter::OpenAPI
237
248
  invalid_properties.push('invalid value for "id", id cannot be nil.')
238
249
  end
239
250
 
251
+ if @workspace_id.nil?
252
+ invalid_properties.push('invalid value for "workspace_id", workspace_id cannot be nil.')
253
+ end
254
+
240
255
  if @signal_tracker_id.nil?
241
256
  invalid_properties.push('invalid value for "signal_tracker_id", signal_tracker_id cannot be nil.')
242
257
  end
@@ -273,6 +288,7 @@ module PlainRouter::OpenAPI
273
288
  def valid?
274
289
  warn '[DEPRECATED] the `valid?` method is obsolete'
275
290
  return false if @id.nil?
291
+ return false if @workspace_id.nil?
276
292
  return false if @signal_tracker_id.nil?
277
293
  return false if @event_id.nil?
278
294
  return false if @status.nil?
@@ -293,6 +309,16 @@ module PlainRouter::OpenAPI
293
309
  @id = id
294
310
  end
295
311
 
312
+ # Custom attribute writer method with validation
313
+ # @param [Object] workspace_id Value to be assigned
314
+ def workspace_id=(workspace_id)
315
+ if workspace_id.nil?
316
+ fail ArgumentError, 'workspace_id cannot be nil'
317
+ end
318
+
319
+ @workspace_id = workspace_id
320
+ end
321
+
296
322
  # Custom attribute writer method with validation
297
323
  # @param [Object] signal_tracker_id Value to be assigned
298
324
  def signal_tracker_id=(signal_tracker_id)
@@ -369,6 +395,7 @@ module PlainRouter::OpenAPI
369
395
  return true if self.equal?(o)
370
396
  self.class == o.class &&
371
397
  id == o.id &&
398
+ workspace_id == o.workspace_id &&
372
399
  signal_tracker_id == o.signal_tracker_id &&
373
400
  event_id == o.event_id &&
374
401
  destination_id == o.destination_id &&
@@ -393,7 +420,7 @@ module PlainRouter::OpenAPI
393
420
  # Calculates hash code according to all attributes.
394
421
  # @return [Integer] Hash code
395
422
  def hash
396
- [id, signal_tracker_id, event_id, destination_id, status, is_test, attempt_count, last_error, platform_response, platform_trace_id, next_attempt_at, created_at, updated_at, explanation].hash
423
+ [id, workspace_id, signal_tracker_id, event_id, destination_id, status, is_test, attempt_count, last_error, platform_response, platform_trace_id, next_attempt_at, created_at, updated_at, explanation].hash
397
424
  end
398
425
 
399
426
  # Builds the object from hash
@@ -1,7 +1,7 @@
1
1
  =begin
2
- #PlainRouter Conversion API
2
+ #Plainrouter Conversion API
3
3
 
4
- #PlainRouter public Signals Conversion API.
4
+ #Plainrouter public Signals Conversion API.
5
5
 
6
6
  The version of the OpenAPI document: 0.5.0
7
7
 
@@ -17,6 +17,9 @@ module PlainRouter::OpenAPI
17
17
  class GetEvent200ResponseEvent < ApiModelBase
18
18
  attr_accessor :id
19
19
 
20
+ attr_accessor :workspace_id
21
+
22
+ # Deprecated alias of workspace_id; contains the workspace ID in decimal string form.
20
23
  attr_accessor :signal_tracker_id
21
24
 
22
25
  attr_accessor :parent_event_id
@@ -67,6 +70,7 @@ module PlainRouter::OpenAPI
67
70
  def self.attribute_map
68
71
  {
69
72
  :'id' => :'id',
73
+ :'workspace_id' => :'workspace_id',
70
74
  :'signal_tracker_id' => :'signal_tracker_id',
71
75
  :'parent_event_id' => :'parent_event_id',
72
76
  :'event_name' => :'event_name',
@@ -107,6 +111,7 @@ module PlainRouter::OpenAPI
107
111
  def self.openapi_types
108
112
  {
109
113
  :'id' => :'String',
114
+ :'workspace_id' => :'Integer',
110
115
  :'signal_tracker_id' => :'String',
111
116
  :'parent_event_id' => :'String',
112
117
  :'event_name' => :'String',
@@ -123,7 +128,7 @@ module PlainRouter::OpenAPI
123
128
  :'enforcement_scope' => :'String',
124
129
  :'consent_normalization_version' => :'String',
125
130
  :'consent' => :'GetEvent200ResponseEventConsent',
126
- :'user_data_hashed' => :'GetEvent200ResponseEventConsent',
131
+ :'user_data_hashed' => :'GetEvent200ResponseEventUserDataHashed',
127
132
  :'click_ids' => :'GetEvent200ResponseEventConsent',
128
133
  :'session' => :'GetEvent200ResponseEventConsent',
129
134
  :'value_data' => :'GetEvent200ResponseEventConsent',
@@ -171,6 +176,12 @@ module PlainRouter::OpenAPI
171
176
  self.id = nil
172
177
  end
173
178
 
179
+ if attributes.key?(:'workspace_id')
180
+ self.workspace_id = attributes[:'workspace_id']
181
+ else
182
+ self.workspace_id = nil
183
+ end
184
+
174
185
  if attributes.key?(:'signal_tracker_id')
175
186
  self.signal_tracker_id = attributes[:'signal_tracker_id']
176
187
  else
@@ -321,6 +332,10 @@ module PlainRouter::OpenAPI
321
332
  invalid_properties.push('invalid value for "id", id cannot be nil.')
322
333
  end
323
334
 
335
+ if @workspace_id.nil?
336
+ invalid_properties.push('invalid value for "workspace_id", workspace_id cannot be nil.')
337
+ end
338
+
324
339
  if @signal_tracker_id.nil?
325
340
  invalid_properties.push('invalid value for "signal_tracker_id", signal_tracker_id cannot be nil.')
326
341
  end
@@ -381,6 +396,7 @@ module PlainRouter::OpenAPI
381
396
  def valid?
382
397
  warn '[DEPRECATED] the `valid?` method is obsolete'
383
398
  return false if @id.nil?
399
+ return false if @workspace_id.nil?
384
400
  return false if @signal_tracker_id.nil?
385
401
  return false if @event_name.nil?
386
402
  return false if @event_time.nil?
@@ -407,6 +423,16 @@ module PlainRouter::OpenAPI
407
423
  @id = id
408
424
  end
409
425
 
426
+ # Custom attribute writer method with validation
427
+ # @param [Object] workspace_id Value to be assigned
428
+ def workspace_id=(workspace_id)
429
+ if workspace_id.nil?
430
+ fail ArgumentError, 'workspace_id cannot be nil'
431
+ end
432
+
433
+ @workspace_id = workspace_id
434
+ end
435
+
410
436
  # Custom attribute writer method with validation
411
437
  # @param [Object] signal_tracker_id Value to be assigned
412
438
  def signal_tracker_id=(signal_tracker_id)
@@ -543,6 +569,7 @@ module PlainRouter::OpenAPI
543
569
  return true if self.equal?(o)
544
570
  self.class == o.class &&
545
571
  id == o.id &&
572
+ workspace_id == o.workspace_id &&
546
573
  signal_tracker_id == o.signal_tracker_id &&
547
574
  parent_event_id == o.parent_event_id &&
548
575
  event_name == o.event_name &&
@@ -577,7 +604,7 @@ module PlainRouter::OpenAPI
577
604
  # Calculates hash code according to all attributes.
578
605
  # @return [Integer] Hash code
579
606
  def hash
580
- [id, signal_tracker_id, parent_event_id, event_name, event_time, action_source, event_class, order_id, value_amount, value_currency, created_at, consent_basis, measurement_class, attribution_join, enforcement_scope, consent_normalization_version, consent, user_data_hashed, click_ids, session, value_data, event_source, payload_expired, deliveries].hash
607
+ [id, workspace_id, signal_tracker_id, parent_event_id, event_name, event_time, action_source, event_class, order_id, value_amount, value_currency, created_at, consent_basis, measurement_class, attribution_join, enforcement_scope, consent_normalization_version, consent, user_data_hashed, click_ids, session, value_data, event_source, payload_expired, deliveries].hash
581
608
  end
582
609
 
583
610
  # Builds the object from hash
@@ -1,7 +1,7 @@
1
1
  =begin
2
- #PlainRouter Conversion API
2
+ #Plainrouter Conversion API
3
3
 
4
- #PlainRouter public Signals Conversion API.
4
+ #Plainrouter public Signals Conversion API.
5
5
 
6
6
  The version of the OpenAPI document: 0.5.0
7
7
 
@@ -1,7 +1,7 @@
1
1
  =begin
2
- #PlainRouter Conversion API
2
+ #Plainrouter Conversion API
3
3
 
4
- #PlainRouter public Signals Conversion API.
4
+ #Plainrouter public Signals Conversion API.
5
5
 
6
6
  The version of the OpenAPI document: 0.5.0
7
7
 
@@ -17,6 +17,9 @@ module PlainRouter::OpenAPI
17
17
  class GetEvent200ResponseEventDeliveriesInner < ApiModelBase
18
18
  attr_accessor :id
19
19
 
20
+ attr_accessor :workspace_id
21
+
22
+ # Deprecated alias of workspace_id; contains the workspace ID in decimal string form.
20
23
  attr_accessor :signal_tracker_id
21
24
 
22
25
  attr_accessor :event_id
@@ -67,6 +70,7 @@ module PlainRouter::OpenAPI
67
70
  def self.attribute_map
68
71
  {
69
72
  :'id' => :'id',
73
+ :'workspace_id' => :'workspace_id',
70
74
  :'signal_tracker_id' => :'signal_tracker_id',
71
75
  :'event_id' => :'event_id',
72
76
  :'destination_id' => :'destination_id',
@@ -96,6 +100,7 @@ module PlainRouter::OpenAPI
96
100
  def self.openapi_types
97
101
  {
98
102
  :'id' => :'Integer',
103
+ :'workspace_id' => :'Integer',
99
104
  :'signal_tracker_id' => :'String',
100
105
  :'event_id' => :'String',
101
106
  :'destination_id' => :'String',
@@ -145,6 +150,12 @@ module PlainRouter::OpenAPI
145
150
  self.id = nil
146
151
  end
147
152
 
153
+ if attributes.key?(:'workspace_id')
154
+ self.workspace_id = attributes[:'workspace_id']
155
+ else
156
+ self.workspace_id = nil
157
+ end
158
+
148
159
  if attributes.key?(:'signal_tracker_id')
149
160
  self.signal_tracker_id = attributes[:'signal_tracker_id']
150
161
  else
@@ -227,6 +238,10 @@ module PlainRouter::OpenAPI
227
238
  invalid_properties.push('invalid value for "id", id cannot be nil.')
228
239
  end
229
240
 
241
+ if @workspace_id.nil?
242
+ invalid_properties.push('invalid value for "workspace_id", workspace_id cannot be nil.')
243
+ end
244
+
230
245
  if @signal_tracker_id.nil?
231
246
  invalid_properties.push('invalid value for "signal_tracker_id", signal_tracker_id cannot be nil.')
232
247
  end
@@ -259,6 +274,7 @@ module PlainRouter::OpenAPI
259
274
  def valid?
260
275
  warn '[DEPRECATED] the `valid?` method is obsolete'
261
276
  return false if @id.nil?
277
+ return false if @workspace_id.nil?
262
278
  return false if @signal_tracker_id.nil?
263
279
  return false if @event_id.nil?
264
280
  return false if @status.nil?
@@ -278,6 +294,16 @@ module PlainRouter::OpenAPI
278
294
  @id = id
279
295
  end
280
296
 
297
+ # Custom attribute writer method with validation
298
+ # @param [Object] workspace_id Value to be assigned
299
+ def workspace_id=(workspace_id)
300
+ if workspace_id.nil?
301
+ fail ArgumentError, 'workspace_id cannot be nil'
302
+ end
303
+
304
+ @workspace_id = workspace_id
305
+ end
306
+
281
307
  # Custom attribute writer method with validation
282
308
  # @param [Object] signal_tracker_id Value to be assigned
283
309
  def signal_tracker_id=(signal_tracker_id)
@@ -344,6 +370,7 @@ module PlainRouter::OpenAPI
344
370
  return true if self.equal?(o)
345
371
  self.class == o.class &&
346
372
  id == o.id &&
373
+ workspace_id == o.workspace_id &&
347
374
  signal_tracker_id == o.signal_tracker_id &&
348
375
  event_id == o.event_id &&
349
376
  destination_id == o.destination_id &&
@@ -367,7 +394,7 @@ module PlainRouter::OpenAPI
367
394
  # Calculates hash code according to all attributes.
368
395
  # @return [Integer] Hash code
369
396
  def hash
370
- [id, signal_tracker_id, event_id, destination_id, status, is_test, attempt_count, last_error, platform_response, platform_trace_id, next_attempt_at, created_at, updated_at].hash
397
+ [id, workspace_id, signal_tracker_id, event_id, destination_id, status, is_test, attempt_count, last_error, platform_response, platform_trace_id, next_attempt_at, created_at, updated_at].hash
371
398
  end
372
399
 
373
400
  # Builds the object from hash
@@ -0,0 +1,104 @@
1
+ =begin
2
+ #Plainrouter Conversion API
3
+
4
+ #Plainrouter public Signals Conversion API.
5
+
6
+ The version of the OpenAPI document: 0.5.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.25.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module PlainRouter::OpenAPI
17
+ # Deprecated compatibility field. The value is always null; delivery identity is never returned.
18
+ module GetEvent200ResponseEventUserDataHashed
19
+ class << self
20
+ # List of class defined in anyOf (OpenAPI v3)
21
+ def openapi_any_of
22
+ [
23
+ :'Array<Object>',
24
+ :'Hash<String, Object>'
25
+ ]
26
+ end
27
+
28
+ # Builds the object
29
+ # @param [Mixed] Data to be matched against the list of anyOf items
30
+ # @return [Object] Returns the model or the data itself
31
+ def build(data)
32
+ # Go through the list of anyOf items and attempt to identify the appropriate one.
33
+ # Note:
34
+ # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 })
35
+ # due to the way the deserialization is made in the base_object template (it just casts without verifying).
36
+ # - TODO: scalar values are de facto behaving as if they were nullable.
37
+ # - TODO: logging when debugging is set.
38
+ openapi_any_of.each do |klass|
39
+ begin
40
+ next if klass == :AnyType # "nullable: true"
41
+ return find_and_cast_into_type(klass, data)
42
+ rescue # rescue all errors so we keep iterating even if the current item lookup raises
43
+ end
44
+ end
45
+
46
+ openapi_any_of.include?(:AnyType) ? data : nil
47
+ end
48
+
49
+ private
50
+
51
+ SchemaMismatchError = Class.new(StandardError)
52
+
53
+ # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse.
54
+ def find_and_cast_into_type(klass, data)
55
+ return if data.nil?
56
+
57
+ case klass.to_s
58
+ when 'Boolean'
59
+ return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass)
60
+ when 'Float'
61
+ return data if data.instance_of?(Float)
62
+ when 'Integer'
63
+ return data if data.instance_of?(Integer)
64
+ when 'Time'
65
+ return Time.parse(data)
66
+ when 'Date'
67
+ return Date.iso8601(data)
68
+ when 'String'
69
+ return data if data.instance_of?(String)
70
+ when 'Object' # "type: object"
71
+ return data if data.instance_of?(Hash)
72
+ when /\AArray<(?<sub_type>.+)>\z/ # "type: array"
73
+ if data.instance_of?(Array)
74
+ sub_type = Regexp.last_match[:sub_type]
75
+ return data.map { |item| find_and_cast_into_type(sub_type, item) }
76
+ end
77
+ when /\AHash<String, (?<sub_type>.+)>\z/ # "type: object" with "additionalProperties: { ... }"
78
+ if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) }
79
+ sub_type = Regexp.last_match[:sub_type]
80
+ return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) }
81
+ end
82
+ else # model
83
+ const = PlainRouter::OpenAPI.const_get(klass)
84
+ if const
85
+ if const.respond_to?(:openapi_any_of) # nested anyOf model
86
+ model = const.build(data)
87
+ return model if model
88
+ else
89
+ # raise if data contains keys that are not known to the model
90
+ raise if const.respond_to?(:acceptable_attributes) && !(data.keys - const.acceptable_attributes).empty?
91
+ model = const.build_from_hash(data)
92
+ return model if model
93
+ end
94
+ end
95
+ end
96
+
97
+ raise # if no match by now, raise
98
+ rescue
99
+ raise SchemaMismatchError, "#{data} doesn't match the #{klass} type"
100
+ end
101
+ end
102
+ end
103
+
104
+ end
@@ -1,7 +1,7 @@
1
1
  =begin
2
- #PlainRouter Conversion API
2
+ #Plainrouter Conversion API
3
3
 
4
- #PlainRouter public Signals Conversion API.
4
+ #Plainrouter public Signals Conversion API.
5
5
 
6
6
  The version of the OpenAPI document: 0.5.0
7
7