temper-rb 0.5.1

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 (384) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +21 -0
  3. data/README.md +291 -0
  4. data/lib/temper/act.rb +47 -0
  5. data/lib/temper/client.rb +96 -0
  6. data/lib/temper/cognitive_maps.rb +75 -0
  7. data/lib/temper/connection.rb +113 -0
  8. data/lib/temper/contexts.rb +54 -0
  9. data/lib/temper/credentials.rb +138 -0
  10. data/lib/temper/errors.rb +154 -0
  11. data/lib/temper/generated/api/access_api.rb +356 -0
  12. data/lib/temper/generated/api/auditor_api.rb +228 -0
  13. data/lib/temper/generated/api/blobs_api.rb +785 -0
  14. data/lib/temper/generated/api/cognitive_maps_api.rb +996 -0
  15. data/lib/temper/generated/api/contexts_api.rb +1039 -0
  16. data/lib/temper/generated/api/data_artifact_shapes_api.rb +243 -0
  17. data/lib/temper/generated/api/data_artifacts_api.rb +261 -0
  18. data/lib/temper/generated/api/events_api.rb +164 -0
  19. data/lib/temper/generated/api/facets_api.rb +406 -0
  20. data/lib/temper/generated/api/graph_api.rb +612 -0
  21. data/lib/temper/generated/api/health_api.rb +84 -0
  22. data/lib/temper/generated/api/ingest_api.rb +398 -0
  23. data/lib/temper/generated/api/invitations_api.rb +514 -0
  24. data/lib/temper/generated/api/invocations_api.rb +308 -0
  25. data/lib/temper/generated/api/meta_api.rb +169 -0
  26. data/lib/temper/generated/api/profile_api.rb +219 -0
  27. data/lib/temper/generated/api/query_api.rb +97 -0
  28. data/lib/temper/generated/api/reblocking_api.rb +95 -0
  29. data/lib/temper/generated/api/relationships_api.rb +332 -0
  30. data/lib/temper/generated/api/resources_api.rb +1329 -0
  31. data/lib/temper/generated/api/schema_api.rb +218 -0
  32. data/lib/temper/generated/api/search_api.rb +97 -0
  33. data/lib/temper/generated/api/slack_link_api.rb +159 -0
  34. data/lib/temper/generated/api/steward_api.rb +372 -0
  35. data/lib/temper/generated/api/teams_api.rb +687 -0
  36. data/lib/temper/generated/api_client.rb +441 -0
  37. data/lib/temper/generated/api_error.rb +58 -0
  38. data/lib/temper/generated/api_model_base.rb +88 -0
  39. data/lib/temper/generated/configuration.rb +393 -0
  40. data/lib/temper/generated/models/accept_invitation_response.rb +239 -0
  41. data/lib/temper/generated/models/act_input.rb +238 -0
  42. data/lib/temper/generated/models/act_invocation.rb +271 -0
  43. data/lib/temper/generated/models/act_name.rb +104 -0
  44. data/lib/temper/generated/models/act_quantity.rb +219 -0
  45. data/lib/temper/generated/models/act_refusal.rb +192 -0
  46. data/lib/temper/generated/models/actor_authority.rb +41 -0
  47. data/lib/temper/generated/models/add_member_request.rb +213 -0
  48. data/lib/temper/generated/models/advance_watermark_ack.rb +188 -0
  49. data/lib/temper/generated/models/advance_watermark_request.rb +161 -0
  50. data/lib/temper/generated/models/agent_authorship.rb +227 -0
  51. data/lib/temper/generated/models/anchor_address_resolution.rb +106 -0
  52. data/lib/temper/generated/models/anchor_address_resolution_one_of.rb +189 -0
  53. data/lib/temper/generated/models/anchor_address_resolution_one_of1.rb +242 -0
  54. data/lib/temper/generated/models/anchor_address_resolution_one_of2.rb +189 -0
  55. data/lib/temper/generated/models/anchor_shape.rb +239 -0
  56. data/lib/temper/generated/models/anchor_verdict.rb +41 -0
  57. data/lib/temper/generated/models/append_block_payload.rb +250 -0
  58. data/lib/temper/generated/models/artifact_commit_request.rb +337 -0
  59. data/lib/temper/generated/models/artifact_commit_response.rb +192 -0
  60. data/lib/temper/generated/models/artifact_view.rb +466 -0
  61. data/lib/temper/generated/models/assert_relationship_request.rb +406 -0
  62. data/lib/temper/generated/models/atlas_edge.rb +327 -0
  63. data/lib/temper/generated/models/atlas_entry.rb +221 -0
  64. data/lib/temper/generated/models/atlas_home.rb +195 -0
  65. data/lib/temper/generated/models/atlas_node.rb +329 -0
  66. data/lib/temper/generated/models/atlas_subgraph.rb +195 -0
  67. data/lib/temper/generated/models/audit_citation.rb +220 -0
  68. data/lib/temper/generated/models/audit_sweep_row.rb +220 -0
  69. data/lib/temper/generated/models/auditor_dispatch_tick_request.rb +150 -0
  70. data/lib/temper/generated/models/auditor_dispatch_tick_response.rb +178 -0
  71. data/lib/temper/generated/models/auditor_job_complete_ack.rb +175 -0
  72. data/lib/temper/generated/models/bind_team_outcome.rb +218 -0
  73. data/lib/temper/generated/models/bind_team_request.rb +166 -0
  74. data/lib/temper/generated/models/blob_commit_response.rb +283 -0
  75. data/lib/temper/generated/models/blob_delete_ack.rb +191 -0
  76. data/lib/temper/generated/models/blob_relation_ack.rb +165 -0
  77. data/lib/temper/generated/models/blob_relation_assert_request.rb +404 -0
  78. data/lib/temper/generated/models/blob_relation_direction.rb +40 -0
  79. data/lib/temper/generated/models/blob_relation_edge_direction.rb +40 -0
  80. data/lib/temper/generated/models/blob_relation_row.rb +390 -0
  81. data/lib/temper/generated/models/blob_summary.rb +256 -0
  82. data/lib/temper/generated/models/blob_upload_begin_request.rb +219 -0
  83. data/lib/temper/generated/models/blob_upload_begin_response.rb +165 -0
  84. data/lib/temper/generated/models/blob_upload_finalize_request.rb +211 -0
  85. data/lib/temper/generated/models/blob_upload_progress.rb +220 -0
  86. data/lib/temper/generated/models/blob_upload_segment_info.rb +227 -0
  87. data/lib/temper/generated/models/block_chunk_ref.rb +217 -0
  88. data/lib/temper/generated/models/block_fold_disposition.rb +106 -0
  89. data/lib/temper/generated/models/block_fold_disposition_one_of.rb +245 -0
  90. data/lib/temper/generated/models/block_fold_disposition_one_of1.rb +189 -0
  91. data/lib/temper/generated/models/block_fold_disposition_one_of2.rb +189 -0
  92. data/lib/temper/generated/models/block_provenance_row.rb +348 -0
  93. data/lib/temper/generated/models/block_read.rb +106 -0
  94. data/lib/temper/generated/models/block_read_one_of.rb +311 -0
  95. data/lib/temper/generated/models/block_read_one_of1.rb +297 -0
  96. data/lib/temper/generated/models/block_read_one_of2.rb +215 -0
  97. data/lib/temper/generated/models/block_successor.rb +177 -0
  98. data/lib/temper/generated/models/blocks_response.rb +194 -0
  99. data/lib/temper/generated/models/body_storage.rb +40 -0
  100. data/lib/temper/generated/models/bridge.rb +217 -0
  101. data/lib/temper/generated/models/bulk_reassign_ack.rb +167 -0
  102. data/lib/temper/generated/models/bulk_reassign_request.rb +191 -0
  103. data/lib/temper/generated/models/change_role_request.rb +187 -0
  104. data/lib/temper/generated/models/charter_block.rb +220 -0
  105. data/lib/temper/generated/models/charter_disposition.rb +42 -0
  106. data/lib/temper/generated/models/citation_audit_request.rb +231 -0
  107. data/lib/temper/generated/models/citation_audit_row.rb +366 -0
  108. data/lib/temper/generated/models/claimed_audit_job.rb +249 -0
  109. data/lib/temper/generated/models/claimed_job.rb +220 -0
  110. data/lib/temper/generated/models/close_invocation_request.rb +197 -0
  111. data/lib/temper/generated/models/cogmap_analytics_row.rb +220 -0
  112. data/lib/temper/generated/models/cogmap_detail.rb +224 -0
  113. data/lib/temper/generated/models/cogmap_foundation_row.rb +247 -0
  114. data/lib/temper/generated/models/cogmap_grant_body.rb +295 -0
  115. data/lib/temper/generated/models/cogmap_region_metrics_row.rb +248 -0
  116. data/lib/temper/generated/models/cogmap_region_row.rb +269 -0
  117. data/lib/temper/generated/models/cogmap_regulation_row.rb +228 -0
  118. data/lib/temper/generated/models/cogmap_revoke_body.rb +191 -0
  119. data/lib/temper/generated/models/cogmap_row.rb +341 -0
  120. data/lib/temper/generated/models/cogmap_staleness.rb +185 -0
  121. data/lib/temper/generated/models/combine_node.rb +263 -0
  122. data/lib/temper/generated/models/combine_op.rb +41 -0
  123. data/lib/temper/generated/models/composition.rb +203 -0
  124. data/lib/temper/generated/models/composition_trace.rb +167 -0
  125. data/lib/temper/generated/models/confidence_band.rb +41 -0
  126. data/lib/temper/generated/models/content_response.rb +213 -0
  127. data/lib/temper/generated/models/context_create_request.rb +176 -0
  128. data/lib/temper/generated/models/context_owner_ref.rb +106 -0
  129. data/lib/temper/generated/models/context_owner_ref_one_of.rb +166 -0
  130. data/lib/temper/generated/models/context_owner_ref_one_of1.rb +166 -0
  131. data/lib/temper/generated/models/context_panorama.rb +221 -0
  132. data/lib/temper/generated/models/context_row.rb +404 -0
  133. data/lib/temper/generated/models/context_row_with_counts.rb +430 -0
  134. data/lib/temper/generated/models/create_cogmap_outcome.rb +217 -0
  135. data/lib/temper/generated/models/create_cogmap_request.rb +221 -0
  136. data/lib/temper/generated/models/create_invitation_request.rb +213 -0
  137. data/lib/temper/generated/models/create_request_body.rb +184 -0
  138. data/lib/temper/generated/models/create_review_body.rb +148 -0
  139. data/lib/temper/generated/models/deactivated.rb +189 -0
  140. data/lib/temper/generated/models/delete_response.rb +165 -0
  141. data/lib/temper/generated/models/denied.rb +189 -0
  142. data/lib/temper/generated/models/device_overrides.rb +162 -0
  143. data/lib/temper/generated/models/discouraged_open_meta_key.rb +191 -0
  144. data/lib/temper/generated/models/dispatch_tick_request.rb +161 -0
  145. data/lib/temper/generated/models/dispatch_tick_response.rb +178 -0
  146. data/lib/temper/generated/models/disposition.rb +41 -0
  147. data/lib/temper/generated/models/doc_type_description.rb +247 -0
  148. data/lib/temper/generated/models/doc_type_summary.rb +219 -0
  149. data/lib/temper/generated/models/drift_sweep_row.rb +258 -0
  150. data/lib/temper/generated/models/edge_facet_row.rb +332 -0
  151. data/lib/temper/generated/models/edge_facet_set_request.rb +288 -0
  152. data/lib/temper/generated/models/edge_facets_response.rb +193 -0
  153. data/lib/temper/generated/models/edge_filter.rb +192 -0
  154. data/lib/temper/generated/models/edge_kind.rb +42 -0
  155. data/lib/temper/generated/models/element_event.rb +307 -0
  156. data/lib/temper/generated/models/element_kind.rb +40 -0
  157. data/lib/temper/generated/models/embed_dispatch_summary.rb +355 -0
  158. data/lib/temper/generated/models/enforcement_mode.rb +40 -0
  159. data/lib/temper/generated/models/entitlements.rb +234 -0
  160. data/lib/temper/generated/models/entry_bounds.rb +247 -0
  161. data/lib/temper/generated/models/error_body.rb +164 -0
  162. data/lib/temper/generated/models/error_detail.rb +201 -0
  163. data/lib/temper/generated/models/error_details.rb +105 -0
  164. data/lib/temper/generated/models/event_cursor_response.rb +150 -0
  165. data/lib/temper/generated/models/event_trail.rb +241 -0
  166. data/lib/temper/generated/models/exact_arm.rb +226 -0
  167. data/lib/temper/generated/models/exact_hit.rb +193 -0
  168. data/lib/temper/generated/models/extent.rb +106 -0
  169. data/lib/temper/generated/models/extent_one_of.rb +189 -0
  170. data/lib/temper/generated/models/extent_one_of1.rb +189 -0
  171. data/lib/temper/generated/models/extent_one_of2.rb +215 -0
  172. data/lib/temper/generated/models/facet_ack.rb +168 -0
  173. data/lib/temper/generated/models/facet_predicate.rb +191 -0
  174. data/lib/temper/generated/models/facet_retract_ack.rb +165 -0
  175. data/lib/temper/generated/models/facet_set_request.rb +304 -0
  176. data/lib/temper/generated/models/finalize_payload.rb +212 -0
  177. data/lib/temper/generated/models/fold_relationship_request.rb +248 -0
  178. data/lib/temper/generated/models/grant_outcome.rb +166 -0
  179. data/lib/temper/generated/models/graph_edge_row.rb +421 -0
  180. data/lib/temper/generated/models/group_key_meta.rb +217 -0
  181. data/lib/temper/generated/models/health_response.rb +202 -0
  182. data/lib/temper/generated/models/home_cogmap.rb +297 -0
  183. data/lib/temper/generated/models/home_context.rb +281 -0
  184. data/lib/temper/generated/models/id_kind.rb +104 -0
  185. data/lib/temper/generated/models/id_provenance.rb +105 -0
  186. data/lib/temper/generated/models/id_provenance_one_of.rb +215 -0
  187. data/lib/temper/generated/models/id_provenance_one_of1.rb +215 -0
  188. data/lib/temper/generated/models/id_set.rb +214 -0
  189. data/lib/temper/generated/models/idp_revocation.rb +41 -0
  190. data/lib/temper/generated/models/illegal_transition.rb +225 -0
  191. data/lib/temper/generated/models/ingest_create_response.rb +105 -0
  192. data/lib/temper/generated/models/ingest_delta.rb +334 -0
  193. data/lib/temper/generated/models/ingest_payload.rb +478 -0
  194. data/lib/temper/generated/models/ingest_state.rb +40 -0
  195. data/lib/temper/generated/models/inherited_read_grant.rb +219 -0
  196. data/lib/temper/generated/models/inherited_share.rb +192 -0
  197. data/lib/temper/generated/models/input_source.rb +106 -0
  198. data/lib/temper/generated/models/input_source_one_of.rb +227 -0
  199. data/lib/temper/generated/models/input_source_one_of1.rb +189 -0
  200. data/lib/temper/generated/models/input_source_one_of2.rb +189 -0
  201. data/lib/temper/generated/models/insufficient_authority.rb +241 -0
  202. data/lib/temper/generated/models/intention.rb +212 -0
  203. data/lib/temper/generated/models/invitation_status.rb +42 -0
  204. data/lib/temper/generated/models/invitation_token_request.rb +165 -0
  205. data/lib/temper/generated/models/invitee_invitation.rb +447 -0
  206. data/lib/temper/generated/models/invocation_ack.rb +191 -0
  207. data/lib/temper/generated/models/invocation_act_row.rb +269 -0
  208. data/lib/temper/generated/models/invocation_close_ack.rb +213 -0
  209. data/lib/temper/generated/models/invocation_summary.rb +296 -0
  210. data/lib/temper/generated/models/invocation_view.rb +433 -0
  211. data/lib/temper/generated/models/join_request.rb +403 -0
  212. data/lib/temper/generated/models/join_request_status.rb +42 -0
  213. data/lib/temper/generated/models/kind_owner_input.rb +105 -0
  214. data/lib/temper/generated/models/kind_owner_input_one_of.rb +164 -0
  215. data/lib/temper/generated/models/kind_owner_input_one_of1.rb +164 -0
  216. data/lib/temper/generated/models/lineage_node.rb +326 -0
  217. data/lib/temper/generated/models/managed_meta.rb +249 -0
  218. data/lib/temper/generated/models/match_location.rb +188 -0
  219. data/lib/temper/generated/models/materialize_ack.rb +307 -0
  220. data/lib/temper/generated/models/materialize_delta.rb +296 -0
  221. data/lib/temper/generated/models/materialize_request.rb +150 -0
  222. data/lib/temper/generated/models/merge_policy.rb +40 -0
  223. data/lib/temper/generated/models/meta_update_payload.rb +358 -0
  224. data/lib/temper/generated/models/narrowed_by.rb +210 -0
  225. data/lib/temper/generated/models/no_prior_standing.rb +189 -0
  226. data/lib/temper/generated/models/no_standing.rb +189 -0
  227. data/lib/temper/generated/models/node_home.rb +40 -0
  228. data/lib/temper/generated/models/open_invocation_request.rb +204 -0
  229. data/lib/temper/generated/models/open_meta_convention.rb +180 -0
  230. data/lib/temper/generated/models/ord_op.rb +42 -0
  231. data/lib/temper/generated/models/orphan_node.rb +264 -0
  232. data/lib/temper/generated/models/outcome_declaration.rb +177 -0
  233. data/lib/temper/generated/models/pending_invitation_counts.rb +177 -0
  234. data/lib/temper/generated/models/plan_refusal.rb +220 -0
  235. data/lib/temper/generated/models/plan_refusal_details.rb +167 -0
  236. data/lib/temper/generated/models/polarity.rb +40 -0
  237. data/lib/temper/generated/models/profile.rb +313 -0
  238. data/lib/temper/generated/models/profile_auth_link.rb +332 -0
  239. data/lib/temper/generated/models/profile_update_request.rb +169 -0
  240. data/lib/temper/generated/models/profile_with_entitlements.rb +344 -0
  241. data/lib/temper/generated/models/property_op.rb +106 -0
  242. data/lib/temper/generated/models/property_op_one_of.rb +189 -0
  243. data/lib/temper/generated/models/property_op_one_of1.rb +217 -0
  244. data/lib/temper/generated/models/property_op_one_of2.rb +227 -0
  245. data/lib/temper/generated/models/property_predicate.rb +191 -0
  246. data/lib/temper/generated/models/provenance_source.rb +106 -0
  247. data/lib/temper/generated/models/provenance_source_one_of.rb +214 -0
  248. data/lib/temper/generated/models/provenance_source_one_of1.rb +214 -0
  249. data/lib/temper/generated/models/provenance_source_one_of2.rb +216 -0
  250. data/lib/temper/generated/models/public_system_settings.rb +169 -0
  251. data/lib/temper/generated/models/quantity_scale.rb +106 -0
  252. data/lib/temper/generated/models/quantity_scale_one_of.rb +189 -0
  253. data/lib/temper/generated/models/quantity_scale_one_of1.rb +215 -0
  254. data/lib/temper/generated/models/quantity_scale_one_of2.rb +189 -0
  255. data/lib/temper/generated/models/query_response.rb +195 -0
  256. data/lib/temper/generated/models/reassign_ack.rb +191 -0
  257. data/lib/temper/generated/models/reassign_context_outcome.rb +243 -0
  258. data/lib/temper/generated/models/reassign_context_request.rb +166 -0
  259. data/lib/temper/generated/models/reassign_resource_request.rb +165 -0
  260. data/lib/temper/generated/models/reblock_candidate.rb +192 -0
  261. data/lib/temper/generated/models/reblock_outcome.rb +109 -0
  262. data/lib/temper/generated/models/reblock_outcome_one_of.rb +165 -0
  263. data/lib/temper/generated/models/reblock_outcome_one_of1.rb +165 -0
  264. data/lib/temper/generated/models/reblock_outcome_one_of1_in_progress.rb +166 -0
  265. data/lib/temper/generated/models/reblock_outcome_one_of2.rb +165 -0
  266. data/lib/temper/generated/models/reblock_outcome_one_of3.rb +165 -0
  267. data/lib/temper/generated/models/reblock_outcome_one_of4.rb +165 -0
  268. data/lib/temper/generated/models/reblock_outcome_one_of4_error.rb +165 -0
  269. data/lib/temper/generated/models/reblock_outcome_one_of_reblocked.rb +165 -0
  270. data/lib/temper/generated/models/reblock_receipt.rb +259 -0
  271. data/lib/temper/generated/models/reblock_request.rb +215 -0
  272. data/lib/temper/generated/models/reblock_scope.rb +106 -0
  273. data/lib/temper/generated/models/reblock_scope_one_of.rb +166 -0
  274. data/lib/temper/generated/models/reblock_scope_one_of1.rb +166 -0
  275. data/lib/temper/generated/models/reblock_summary.rb +350 -0
  276. data/lib/temper/generated/models/reconcile_cogmap_request.rb +199 -0
  277. data/lib/temper/generated/models/reconcile_edge.rb +253 -0
  278. data/lib/temper/generated/models/reconcile_edge_tombstone.rb +217 -0
  279. data/lib/temper/generated/models/reconcile_entry.rb +318 -0
  280. data/lib/temper/generated/models/reconcile_outcome.rb +327 -0
  281. data/lib/temper/generated/models/reconcile_telos.rb +167 -0
  282. data/lib/temper/generated/models/reconcile_telos_block.rb +191 -0
  283. data/lib/temper/generated/models/reconcile_tombstone.rb +165 -0
  284. data/lib/temper/generated/models/refusal.rb +112 -0
  285. data/lib/temper/generated/models/refusal_reason.rb +104 -0
  286. data/lib/temper/generated/models/region_disclosure.rb +193 -0
  287. data/lib/temper/generated/models/region_hit.rb +192 -0
  288. data/lib/temper/generated/models/relationship_ack.rb +165 -0
  289. data/lib/temper/generated/models/relationship_target.rb +40 -0
  290. data/lib/temper/generated/models/remove_member_outcome.rb +165 -0
  291. data/lib/temper/generated/models/rename_context_outcome.rb +300 -0
  292. data/lib/temper/generated/models/rename_context_request.rb +166 -0
  293. data/lib/temper/generated/models/requested.rb +189 -0
  294. data/lib/temper/generated/models/residual_bucket.rb +191 -0
  295. data/lib/temper/generated/models/residual_context.rb +201 -0
  296. data/lib/temper/generated/models/residual_groups.rb +193 -0
  297. data/lib/temper/generated/models/residual_owned_reach.rb +202 -0
  298. data/lib/temper/generated/models/resource_annotate_request.rb +261 -0
  299. data/lib/temper/generated/models/resource_create_request.rb +355 -0
  300. data/lib/temper/generated/models/resource_facet_row.rb +317 -0
  301. data/lib/temper/generated/models/resource_facets.rb +226 -0
  302. data/lib/temper/generated/models/resource_facets_response.rb +193 -0
  303. data/lib/temper/generated/models/resource_filter.rb +265 -0
  304. data/lib/temper/generated/models/resource_grant_body.rb +295 -0
  305. data/lib/temper/generated/models/resource_hit.rb +216 -0
  306. data/lib/temper/generated/models/resource_lineage.rb +224 -0
  307. data/lib/temper/generated/models/resource_list_response.rb +313 -0
  308. data/lib/temper/generated/models/resource_revoke_body.rb +191 -0
  309. data/lib/temper/generated/models/resource_section.rb +41 -0
  310. data/lib/temper/generated/models/resource_sort_field.rb +45 -0
  311. data/lib/temper/generated/models/resource_update_request.rb +379 -0
  312. data/lib/temper/generated/models/resource_view.rb +592 -0
  313. data/lib/temper/generated/models/restore_context_outcome.rb +274 -0
  314. data/lib/temper/generated/models/retire_context_outcome.rb +247 -0
  315. data/lib/temper/generated/models/return_spec.rb +189 -0
  316. data/lib/temper/generated/models/retype_relationship_request.rb +290 -0
  317. data/lib/temper/generated/models/revoke_outcome.rb +165 -0
  318. data/lib/temper/generated/models/revoked.rb +189 -0
  319. data/lib/temper/generated/models/reweight_relationship_request.rb +264 -0
  320. data/lib/temper/generated/models/score_kind.rb +104 -0
  321. data/lib/temper/generated/models/scoring.rb +192 -0
  322. data/lib/temper/generated/models/search_params.rb +254 -0
  323. data/lib/temper/generated/models/search_reason.rb +41 -0
  324. data/lib/temper/generated/models/search_response.rb +217 -0
  325. data/lib/temper/generated/models/search_result_row.rb +343 -0
  326. data/lib/temper/generated/models/search_scope.rb +41 -0
  327. data/lib/temper/generated/models/search_scope_info.rb +199 -0
  328. data/lib/temper/generated/models/segment_info.rb +200 -0
  329. data/lib/temper/generated/models/segmented_begin.rb +212 -0
  330. data/lib/temper/generated/models/segmented_begin_response.rb +247 -0
  331. data/lib/temper/generated/models/shape_declare_request.rb +315 -0
  332. data/lib/temper/generated/models/shape_emptiness.rb +42 -0
  333. data/lib/temper/generated/models/shape_view.rb +438 -0
  334. data/lib/temper/generated/models/share_context_outcome.rb +218 -0
  335. data/lib/temper/generated/models/share_context_request.rb +166 -0
  336. data/lib/temper/generated/models/slack_disconnect_request.rb +166 -0
  337. data/lib/temper/generated/models/slack_disconnect_response.rb +168 -0
  338. data/lib/temper/generated/models/slack_disconnected_principal.rb +269 -0
  339. data/lib/temper/generated/models/slice_request.rb +216 -0
  340. data/lib/temper/generated/models/sort_order.rb +40 -0
  341. data/lib/temper/generated/models/stage_disposition.rb +42 -0
  342. data/lib/temper/generated/models/stage_input.rb +105 -0
  343. data/lib/temper/generated/models/stage_input_one_of.rb +241 -0
  344. data/lib/temper/generated/models/stage_input_one_of1.rb +253 -0
  345. data/lib/temper/generated/models/stage_input_trace.rb +241 -0
  346. data/lib/temper/generated/models/stage_node.rb +105 -0
  347. data/lib/temper/generated/models/stage_output.rb +105 -0
  348. data/lib/temper/generated/models/stage_output_one_of.rb +217 -0
  349. data/lib/temper/generated/models/stage_output_one_of1.rb +217 -0
  350. data/lib/temper/generated/models/stage_relation.rb +40 -0
  351. data/lib/temper/generated/models/stage_result.rb +423 -0
  352. data/lib/temper/generated/models/stage_trace.rb +451 -0
  353. data/lib/temper/generated/models/standing.rb +43 -0
  354. data/lib/temper/generated/models/standing_shape.rb +355 -0
  355. data/lib/temper/generated/models/subscription.rb +267 -0
  356. data/lib/temper/generated/models/subscription_override.rb +193 -0
  357. data/lib/temper/generated/models/system_access_details.rb +206 -0
  358. data/lib/temper/generated/models/team_create_request.rb +217 -0
  359. data/lib/temper/generated/models/team_detail.rb +313 -0
  360. data/lib/temper/generated/models/team_invitation.rb +406 -0
  361. data/lib/temper/generated/models/team_member_detail.rb +265 -0
  362. data/lib/temper/generated/models/team_member_row.rb +265 -0
  363. data/lib/temper/generated/models/team_member_source.rb +40 -0
  364. data/lib/temper/generated/models/team_role.rb +42 -0
  365. data/lib/temper/generated/models/team_row.rb +287 -0
  366. data/lib/temper/generated/models/team_update_request.rb +159 -0
  367. data/lib/temper/generated/models/territory.rb +298 -0
  368. data/lib/temper/generated/models/territory_kind.rb +41 -0
  369. data/lib/temper/generated/models/territory_overview.rb +223 -0
  370. data/lib/temper/generated/models/unbind_team_outcome.rb +218 -0
  371. data/lib/temper/generated/models/unrecognized_standing.rb +215 -0
  372. data/lib/temper/generated/models/unshare_context_outcome.rb +218 -0
  373. data/lib/temper/generated/models/vault_config.rb +174 -0
  374. data/lib/temper/generated/models/via_entry.rb +305 -0
  375. data/lib/temper/generated/models/wide_arm.rb +252 -0
  376. data/lib/temper/generated/models/wide_hit.rb +193 -0
  377. data/lib/temper/generated/version.rb +15 -0
  378. data/lib/temper/generated.rb +402 -0
  379. data/lib/temper/refs.rb +36 -0
  380. data/lib/temper/resources.rb +68 -0
  381. data/lib/temper/validate.rb +127 -0
  382. data/lib/temper/version.rb +11 -0
  383. data/lib/temper.rb +47 -0
  384. metadata +525 -0
@@ -0,0 +1,215 @@
1
+ =begin
2
+ #Temper Cloud API
3
+
4
+ #Knowledge base management API for temper cloud
5
+
6
+ The version of the OpenAPI document: 0.5.1
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.23.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Temper::Generated
17
+ # Bounded, but NOT to `[0,1]`. `bounds` states the actual range.
18
+ class QuantityScaleOneOf1 < ApiModelBase
19
+ attr_accessor :bounds
20
+
21
+ attr_accessor :scale
22
+
23
+ class EnumAttributeValidator
24
+ attr_reader :datatype
25
+ attr_reader :allowable_values
26
+
27
+ def initialize(datatype, allowable_values)
28
+ @allowable_values = allowable_values.map do |value|
29
+ case datatype.to_s
30
+ when /Integer/i
31
+ value.to_i
32
+ when /Float/i
33
+ value.to_f
34
+ else
35
+ value
36
+ end
37
+ end
38
+ end
39
+
40
+ def valid?(value)
41
+ !value || allowable_values.include?(value)
42
+ end
43
+ end
44
+
45
+ # Attribute mapping from ruby-style variable name to JSON key.
46
+ def self.attribute_map
47
+ {
48
+ :'bounds' => :'bounds',
49
+ :'scale' => :'scale'
50
+ }
51
+ end
52
+
53
+ # Returns attribute mapping this model knows about
54
+ def self.acceptable_attribute_map
55
+ attribute_map
56
+ end
57
+
58
+ # Returns all the JSON keys this model knows about
59
+ def self.acceptable_attributes
60
+ acceptable_attribute_map.values
61
+ end
62
+
63
+ # Attribute type mapping.
64
+ def self.openapi_types
65
+ {
66
+ :'bounds' => :'String',
67
+ :'scale' => :'String'
68
+ }
69
+ end
70
+
71
+ # List of attributes with nullable: true
72
+ def self.openapi_nullable
73
+ Set.new([
74
+ ])
75
+ end
76
+
77
+ # Initializes the object
78
+ # @param [Hash] attributes Model attributes in the form of hash
79
+ def initialize(attributes = {})
80
+ if (!attributes.is_a?(Hash))
81
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Temper::Generated::QuantityScaleOneOf1` initialize method"
82
+ end
83
+
84
+ # check to see if the attribute exists and convert string to symbol for hash key
85
+ acceptable_attribute_map = self.class.acceptable_attribute_map
86
+ attributes = attributes.each_with_object({}) { |(k, v), h|
87
+ if (!acceptable_attribute_map.key?(k.to_sym))
88
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Temper::Generated::QuantityScaleOneOf1`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
89
+ end
90
+ h[k.to_sym] = v
91
+ }
92
+
93
+ if attributes.key?(:'bounds')
94
+ self.bounds = attributes[:'bounds']
95
+ else
96
+ self.bounds = nil
97
+ end
98
+
99
+ if attributes.key?(:'scale')
100
+ self.scale = attributes[:'scale']
101
+ else
102
+ self.scale = nil
103
+ end
104
+ end
105
+
106
+ # Show invalid properties with the reasons. Usually used together with valid?
107
+ # @return Array for valid properties with the reasons
108
+ def list_invalid_properties
109
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
110
+ invalid_properties = Array.new
111
+ if @bounds.nil?
112
+ invalid_properties.push('invalid value for "bounds", bounds cannot be nil.')
113
+ end
114
+
115
+ if @scale.nil?
116
+ invalid_properties.push('invalid value for "scale", scale cannot be nil.')
117
+ end
118
+
119
+ invalid_properties
120
+ end
121
+
122
+ # Check to see if the all the properties in the model are valid
123
+ # @return true if the model is valid
124
+ def valid?
125
+ warn '[DEPRECATED] the `valid?` method is obsolete'
126
+ return false if @bounds.nil?
127
+ return false if @scale.nil?
128
+ scale_validator = EnumAttributeValidator.new('String', ["other_range"])
129
+ return false unless scale_validator.valid?(@scale)
130
+ true
131
+ end
132
+
133
+ # Custom attribute writer method with validation
134
+ # @param [Object] bounds Value to be assigned
135
+ def bounds=(bounds)
136
+ if bounds.nil?
137
+ fail ArgumentError, 'bounds cannot be nil'
138
+ end
139
+
140
+ @bounds = bounds
141
+ end
142
+
143
+ # Custom attribute writer method checking allowed values (enum).
144
+ # @param [Object] scale Object to be assigned
145
+ def scale=(scale)
146
+ validator = EnumAttributeValidator.new('String', ["other_range"])
147
+ unless validator.valid?(scale)
148
+ fail ArgumentError, "invalid value for \"scale\", must be one of #{validator.allowable_values}."
149
+ end
150
+ @scale = scale
151
+ end
152
+
153
+ # Checks equality by comparing each attribute.
154
+ # @param [Object] Object to be compared
155
+ def ==(o)
156
+ return true if self.equal?(o)
157
+ self.class == o.class &&
158
+ bounds == o.bounds &&
159
+ scale == o.scale
160
+ end
161
+
162
+ # @see the `==` method
163
+ # @param [Object] Object to be compared
164
+ def eql?(o)
165
+ self == o
166
+ end
167
+
168
+ # Calculates hash code according to all attributes.
169
+ # @return [Integer] Hash code
170
+ def hash
171
+ [bounds, scale].hash
172
+ end
173
+
174
+ # Builds the object from hash
175
+ # @param [Hash] attributes Model attributes in the form of hash
176
+ # @return [Object] Returns the model itself
177
+ def self.build_from_hash(attributes)
178
+ return nil unless attributes.is_a?(Hash)
179
+ attributes = attributes.transform_keys(&:to_sym)
180
+ transformed_hash = {}
181
+ openapi_types.each_pair do |key, type|
182
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
183
+ transformed_hash["#{key}"] = nil
184
+ elsif type =~ /\AArray<(.*)>/i
185
+ # check to ensure the input is an array given that the attribute
186
+ # is documented as an array but the input is not
187
+ if attributes[attribute_map[key]].is_a?(Array)
188
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
189
+ end
190
+ elsif !attributes[attribute_map[key]].nil?
191
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
192
+ end
193
+ end
194
+ new(transformed_hash)
195
+ end
196
+
197
+ # Returns the object in the form of hash
198
+ # @return [Hash] Returns the object in the form of hash
199
+ def to_hash
200
+ hash = {}
201
+ self.class.attribute_map.each_pair do |attr, param|
202
+ value = self.send(attr)
203
+ if value.nil?
204
+ is_nullable = self.class.openapi_nullable.include?(attr)
205
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
206
+ end
207
+
208
+ hash[param] = _to_hash(value)
209
+ end
210
+ hash
211
+ end
212
+
213
+ end
214
+
215
+ end
@@ -0,0 +1,189 @@
1
+ =begin
2
+ #Temper Cloud API
3
+
4
+ #Knowledge base management API for temper cloud
5
+
6
+ The version of the OpenAPI document: 0.5.1
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.23.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Temper::Generated
17
+ # Nothing in the expression or in the schema bounds it.
18
+ class QuantityScaleOneOf2 < ApiModelBase
19
+ attr_accessor :scale
20
+
21
+ class EnumAttributeValidator
22
+ attr_reader :datatype
23
+ attr_reader :allowable_values
24
+
25
+ def initialize(datatype, allowable_values)
26
+ @allowable_values = allowable_values.map do |value|
27
+ case datatype.to_s
28
+ when /Integer/i
29
+ value.to_i
30
+ when /Float/i
31
+ value.to_f
32
+ else
33
+ value
34
+ end
35
+ end
36
+ end
37
+
38
+ def valid?(value)
39
+ !value || allowable_values.include?(value)
40
+ end
41
+ end
42
+
43
+ # Attribute mapping from ruby-style variable name to JSON key.
44
+ def self.attribute_map
45
+ {
46
+ :'scale' => :'scale'
47
+ }
48
+ end
49
+
50
+ # Returns attribute mapping this model knows about
51
+ def self.acceptable_attribute_map
52
+ attribute_map
53
+ end
54
+
55
+ # Returns all the JSON keys this model knows about
56
+ def self.acceptable_attributes
57
+ acceptable_attribute_map.values
58
+ end
59
+
60
+ # Attribute type mapping.
61
+ def self.openapi_types
62
+ {
63
+ :'scale' => :'String'
64
+ }
65
+ end
66
+
67
+ # List of attributes with nullable: true
68
+ def self.openapi_nullable
69
+ Set.new([
70
+ ])
71
+ end
72
+
73
+ # Initializes the object
74
+ # @param [Hash] attributes Model attributes in the form of hash
75
+ def initialize(attributes = {})
76
+ if (!attributes.is_a?(Hash))
77
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Temper::Generated::QuantityScaleOneOf2` initialize method"
78
+ end
79
+
80
+ # check to see if the attribute exists and convert string to symbol for hash key
81
+ acceptable_attribute_map = self.class.acceptable_attribute_map
82
+ attributes = attributes.each_with_object({}) { |(k, v), h|
83
+ if (!acceptable_attribute_map.key?(k.to_sym))
84
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Temper::Generated::QuantityScaleOneOf2`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
85
+ end
86
+ h[k.to_sym] = v
87
+ }
88
+
89
+ if attributes.key?(:'scale')
90
+ self.scale = attributes[:'scale']
91
+ else
92
+ self.scale = nil
93
+ end
94
+ end
95
+
96
+ # Show invalid properties with the reasons. Usually used together with valid?
97
+ # @return Array for valid properties with the reasons
98
+ def list_invalid_properties
99
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
100
+ invalid_properties = Array.new
101
+ if @scale.nil?
102
+ invalid_properties.push('invalid value for "scale", scale cannot be nil.')
103
+ end
104
+
105
+ invalid_properties
106
+ end
107
+
108
+ # Check to see if the all the properties in the model are valid
109
+ # @return true if the model is valid
110
+ def valid?
111
+ warn '[DEPRECATED] the `valid?` method is obsolete'
112
+ return false if @scale.nil?
113
+ scale_validator = EnumAttributeValidator.new('String', ["unbounded"])
114
+ return false unless scale_validator.valid?(@scale)
115
+ true
116
+ end
117
+
118
+ # Custom attribute writer method checking allowed values (enum).
119
+ # @param [Object] scale Object to be assigned
120
+ def scale=(scale)
121
+ validator = EnumAttributeValidator.new('String', ["unbounded"])
122
+ unless validator.valid?(scale)
123
+ fail ArgumentError, "invalid value for \"scale\", must be one of #{validator.allowable_values}."
124
+ end
125
+ @scale = scale
126
+ end
127
+
128
+ # Checks equality by comparing each attribute.
129
+ # @param [Object] Object to be compared
130
+ def ==(o)
131
+ return true if self.equal?(o)
132
+ self.class == o.class &&
133
+ scale == o.scale
134
+ end
135
+
136
+ # @see the `==` method
137
+ # @param [Object] Object to be compared
138
+ def eql?(o)
139
+ self == o
140
+ end
141
+
142
+ # Calculates hash code according to all attributes.
143
+ # @return [Integer] Hash code
144
+ def hash
145
+ [scale].hash
146
+ end
147
+
148
+ # Builds the object from hash
149
+ # @param [Hash] attributes Model attributes in the form of hash
150
+ # @return [Object] Returns the model itself
151
+ def self.build_from_hash(attributes)
152
+ return nil unless attributes.is_a?(Hash)
153
+ attributes = attributes.transform_keys(&:to_sym)
154
+ transformed_hash = {}
155
+ openapi_types.each_pair do |key, type|
156
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
157
+ transformed_hash["#{key}"] = nil
158
+ elsif type =~ /\AArray<(.*)>/i
159
+ # check to ensure the input is an array given that the attribute
160
+ # is documented as an array but the input is not
161
+ if attributes[attribute_map[key]].is_a?(Array)
162
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
163
+ end
164
+ elsif !attributes[attribute_map[key]].nil?
165
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
166
+ end
167
+ end
168
+ new(transformed_hash)
169
+ end
170
+
171
+ # Returns the object in the form of hash
172
+ # @return [Hash] Returns the object in the form of hash
173
+ def to_hash
174
+ hash = {}
175
+ self.class.attribute_map.each_pair do |attr, param|
176
+ value = self.send(attr)
177
+ if value.nil?
178
+ is_nullable = self.class.openapi_nullable.include?(attr)
179
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
180
+ end
181
+
182
+ hash[param] = _to_hash(value)
183
+ end
184
+ hash
185
+ end
186
+
187
+ end
188
+
189
+ end
@@ -0,0 +1,195 @@
1
+ =begin
2
+ #Temper Cloud API
3
+
4
+ #Knowledge base management API for temper cloud
5
+
6
+ The version of the OpenAPI document: 0.5.1
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.23.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Temper::Generated
17
+ # What `POST /api/query` answers with: the returned arms, keyed by the caller's own stage names, and the trace covering every stage. **A 200 does not mean every stage answered.** A stage may be empty, withheld or refused and still be reported here — see [`super::disposition::StageDisposition`]. Static invalidity never reaches this type at all; it is a 400 carrying every [`super::validate::PlanRefusal`] at once. # The schema cannot state the real invariant, and that is said plainly rather than hidden The keys of `returned` are exactly `outcome.returns[].stage`, and the variant of `produced` under each is determined by the declared `produces` of the act that stage names. That is a dependency from REQUEST to RESPONSE, and OpenAPI has no way to express it. Nothing on this surface closes it today. A `POST /api/query/validate` route was drafted to and was withdrawn (it authenticated nobody and protected nothing). The facts needed to compute it all live in the act declarations, and [`super::validate::ValidationOutcome`] is the pure function that does — so a client holding the declarations can derive it. Publishing them is an open question, not a promise.
18
+ class QueryResponse < ApiModelBase
19
+ # One entry per `outcome.returns` — no more, no fewer. **A map rather than a list, and that is the structural half of `no-cross-act-ranking`.** Arms are keyed separately and there is no merged ordered list anywhere for two acts' rows to fall into, so combining them takes a deliberate act by the caller. The row types no longer differ per act — incommensurability is DATA now, carried by [`super::hits::Scoring::score_kind`] — which makes this keying the protection rather than a convenience.
20
+ attr_accessor :returned
21
+
22
+ # EVERY stage, including the ones whose rows were not returned. Intermediate stages are mostly not returned — the pipe carries ids, not rows — so without this a composition is a black box with an answer at the end and no way to tell whether stage 2 earned its place.
23
+ attr_accessor :trace
24
+
25
+ # Attribute mapping from ruby-style variable name to JSON key.
26
+ def self.attribute_map
27
+ {
28
+ :'returned' => :'returned',
29
+ :'trace' => :'trace'
30
+ }
31
+ end
32
+
33
+ # Returns attribute mapping this model knows about
34
+ def self.acceptable_attribute_map
35
+ attribute_map
36
+ end
37
+
38
+ # Returns all the JSON keys this model knows about
39
+ def self.acceptable_attributes
40
+ acceptable_attribute_map.values
41
+ end
42
+
43
+ # Attribute type mapping.
44
+ def self.openapi_types
45
+ {
46
+ :'returned' => :'Hash<String, StageResult>',
47
+ :'trace' => :'CompositionTrace'
48
+ }
49
+ end
50
+
51
+ # List of attributes with nullable: true
52
+ def self.openapi_nullable
53
+ Set.new([
54
+ ])
55
+ end
56
+
57
+ # Initializes the object
58
+ # @param [Hash] attributes Model attributes in the form of hash
59
+ def initialize(attributes = {})
60
+ if (!attributes.is_a?(Hash))
61
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Temper::Generated::QueryResponse` initialize method"
62
+ end
63
+
64
+ # check to see if the attribute exists and convert string to symbol for hash key
65
+ acceptable_attribute_map = self.class.acceptable_attribute_map
66
+ attributes = attributes.each_with_object({}) { |(k, v), h|
67
+ if (!acceptable_attribute_map.key?(k.to_sym))
68
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Temper::Generated::QueryResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
69
+ end
70
+ h[k.to_sym] = v
71
+ }
72
+
73
+ if attributes.key?(:'returned')
74
+ if (value = attributes[:'returned']).is_a?(Hash)
75
+ self.returned = value
76
+ end
77
+ else
78
+ self.returned = nil
79
+ end
80
+
81
+ if attributes.key?(:'trace')
82
+ self.trace = attributes[:'trace']
83
+ else
84
+ self.trace = nil
85
+ end
86
+ end
87
+
88
+ # Show invalid properties with the reasons. Usually used together with valid?
89
+ # @return Array for valid properties with the reasons
90
+ def list_invalid_properties
91
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
92
+ invalid_properties = Array.new
93
+ if @returned.nil?
94
+ invalid_properties.push('invalid value for "returned", returned cannot be nil.')
95
+ end
96
+
97
+ if @trace.nil?
98
+ invalid_properties.push('invalid value for "trace", trace cannot be nil.')
99
+ end
100
+
101
+ invalid_properties
102
+ end
103
+
104
+ # Check to see if the all the properties in the model are valid
105
+ # @return true if the model is valid
106
+ def valid?
107
+ warn '[DEPRECATED] the `valid?` method is obsolete'
108
+ return false if @returned.nil?
109
+ return false if @trace.nil?
110
+ true
111
+ end
112
+
113
+ # Custom attribute writer method with validation
114
+ # @param [Object] returned Value to be assigned
115
+ def returned=(returned)
116
+ if returned.nil?
117
+ fail ArgumentError, 'returned cannot be nil'
118
+ end
119
+
120
+ @returned = returned
121
+ end
122
+
123
+ # Custom attribute writer method with validation
124
+ # @param [Object] trace Value to be assigned
125
+ def trace=(trace)
126
+ if trace.nil?
127
+ fail ArgumentError, 'trace cannot be nil'
128
+ end
129
+
130
+ @trace = trace
131
+ end
132
+
133
+ # Checks equality by comparing each attribute.
134
+ # @param [Object] Object to be compared
135
+ def ==(o)
136
+ return true if self.equal?(o)
137
+ self.class == o.class &&
138
+ returned == o.returned &&
139
+ trace == o.trace
140
+ end
141
+
142
+ # @see the `==` method
143
+ # @param [Object] Object to be compared
144
+ def eql?(o)
145
+ self == o
146
+ end
147
+
148
+ # Calculates hash code according to all attributes.
149
+ # @return [Integer] Hash code
150
+ def hash
151
+ [returned, trace].hash
152
+ end
153
+
154
+ # Builds the object from hash
155
+ # @param [Hash] attributes Model attributes in the form of hash
156
+ # @return [Object] Returns the model itself
157
+ def self.build_from_hash(attributes)
158
+ return nil unless attributes.is_a?(Hash)
159
+ attributes = attributes.transform_keys(&:to_sym)
160
+ transformed_hash = {}
161
+ openapi_types.each_pair do |key, type|
162
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
163
+ transformed_hash["#{key}"] = nil
164
+ elsif type =~ /\AArray<(.*)>/i
165
+ # check to ensure the input is an array given that the attribute
166
+ # is documented as an array but the input is not
167
+ if attributes[attribute_map[key]].is_a?(Array)
168
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
169
+ end
170
+ elsif !attributes[attribute_map[key]].nil?
171
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
172
+ end
173
+ end
174
+ new(transformed_hash)
175
+ end
176
+
177
+ # Returns the object in the form of hash
178
+ # @return [Hash] Returns the object in the form of hash
179
+ def to_hash
180
+ hash = {}
181
+ self.class.attribute_map.each_pair do |attr, param|
182
+ value = self.send(attr)
183
+ if value.nil?
184
+ is_nullable = self.class.openapi_nullable.include?(attr)
185
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
186
+ end
187
+
188
+ hash[param] = _to_hash(value)
189
+ end
190
+ hash
191
+ end
192
+
193
+ end
194
+
195
+ end