onfido 5.6.0 → 6.0.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 (324) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +15 -0
  3. data/MIGRATION.md +28 -0
  4. data/README.md +2 -2
  5. data/lib/onfido/api/default_api.rb +689 -5
  6. data/lib/onfido/api_client.rb +2 -2
  7. data/lib/onfido/api_error.rb +1 -1
  8. data/lib/onfido/configuration.rb +1 -2
  9. data/lib/onfido/models/address.rb +30 -4
  10. data/lib/onfido/models/address_builder.rb +30 -4
  11. data/lib/onfido/models/address_shared.rb +30 -4
  12. data/lib/onfido/models/addresses_list.rb +10 -4
  13. data/lib/onfido/models/applicant.rb +20 -4
  14. data/lib/onfido/models/applicant_builder.rb +10 -4
  15. data/lib/onfido/models/applicant_consent.rb +30 -4
  16. data/lib/onfido/models/applicant_consent_builder.rb +30 -4
  17. data/lib/onfido/models/applicant_consent_name.rb +1 -1
  18. data/lib/onfido/models/applicant_create.rb +10 -4
  19. data/lib/onfido/models/applicant_request.rb +10 -4
  20. data/lib/onfido/models/applicant_response.rb +20 -4
  21. data/lib/onfido/models/applicant_shared.rb +10 -4
  22. data/lib/onfido/models/applicant_update.rb +10 -4
  23. data/lib/onfido/models/applicant_updater.rb +10 -4
  24. data/lib/onfido/models/applicants_list.rb +20 -4
  25. data/lib/onfido/models/check.rb +30 -4
  26. data/lib/onfido/models/check_builder.rb +30 -4
  27. data/lib/onfido/models/check_request.rb +20 -4
  28. data/lib/onfido/models/check_response.rb +20 -4
  29. data/lib/onfido/models/check_shared.rb +20 -4
  30. data/lib/onfido/models/check_status.rb +1 -1
  31. data/lib/onfido/models/checks_list.rb +20 -4
  32. data/lib/onfido/models/complete_task_builder.rb +20 -4
  33. data/lib/onfido/models/complete_task_data_builder.rb +3 -4
  34. data/lib/onfido/models/country_codes.rb +1 -1
  35. data/lib/onfido/models/device_intelligence_breakdown.rb +14 -26
  36. data/lib/onfido/models/device_intelligence_breakdown_device.rb +10 -4
  37. data/lib/onfido/models/device_intelligence_breakdown_device_breakdown.rb +10 -4
  38. data/lib/onfido/models/device_intelligence_properties.rb +13 -7
  39. data/lib/onfido/models/{device_intelligence_breakdown_properties_device.rb → device_intelligence_properties_device.rb} +12 -6
  40. data/lib/onfido/models/{device_intelligence_breakdown_properties_geolocation.rb → device_intelligence_properties_geolocation.rb} +12 -6
  41. data/lib/onfido/models/{device_intelligence_breakdown_properties_ip.rb → device_intelligence_properties_ip.rb} +12 -6
  42. data/lib/onfido/models/device_intelligence_report.rb +30 -4
  43. data/lib/onfido/models/document.rb +20 -4
  44. data/lib/onfido/models/document_breakdown.rb +10 -4
  45. data/lib/onfido/models/document_breakdown_age_validation.rb +10 -4
  46. data/lib/onfido/models/document_breakdown_age_validation_breakdown.rb +10 -4
  47. data/lib/onfido/models/document_breakdown_compromised_document.rb +10 -4
  48. data/lib/onfido/models/document_breakdown_compromised_document_breakdown.rb +10 -4
  49. data/lib/onfido/models/document_breakdown_data_comparison.rb +10 -4
  50. data/lib/onfido/models/document_breakdown_data_comparison_breakdown.rb +10 -4
  51. data/lib/onfido/models/document_breakdown_data_comparison_breakdown_issuing_country.rb +10 -4
  52. data/lib/onfido/models/document_breakdown_data_consistency.rb +10 -4
  53. data/lib/onfido/models/document_breakdown_data_consistency_breakdown.rb +10 -4
  54. data/lib/onfido/models/document_breakdown_data_validation.rb +10 -4
  55. data/lib/onfido/models/document_breakdown_data_validation_breakdown.rb +10 -4
  56. data/lib/onfido/models/document_breakdown_data_validation_breakdown_document_expiration.rb +10 -4
  57. data/lib/onfido/models/document_breakdown_data_validation_breakdown_expiry_date.rb +10 -4
  58. data/lib/onfido/models/document_breakdown_image_integrity.rb +10 -4
  59. data/lib/onfido/models/document_breakdown_image_integrity_breakdown.rb +10 -4
  60. data/lib/onfido/models/document_breakdown_image_integrity_breakdown_colour_picture.rb +10 -4
  61. data/lib/onfido/models/document_breakdown_image_integrity_breakdown_conclusive_document_quality.rb +10 -4
  62. data/lib/onfido/models/document_breakdown_image_integrity_breakdown_image_quality.rb +10 -4
  63. data/lib/onfido/models/document_breakdown_image_integrity_breakdown_supported_document.rb +10 -4
  64. data/lib/onfido/models/document_breakdown_issuing_authority.rb +10 -4
  65. data/lib/onfido/models/document_breakdown_issuing_authority_breakdown.rb +10 -4
  66. data/lib/onfido/models/document_breakdown_issuing_authority_breakdown_nfc_active_authentication.rb +10 -4
  67. data/lib/onfido/models/document_breakdown_issuing_authority_breakdown_nfc_passive_authentication.rb +10 -4
  68. data/lib/onfido/models/document_breakdown_police_record.rb +10 -4
  69. data/lib/onfido/models/document_breakdown_visual_authenticity.rb +10 -4
  70. data/lib/onfido/models/document_breakdown_visual_authenticity_breakdown.rb +10 -4
  71. data/lib/onfido/models/document_breakdown_visual_authenticity_breakdown_digital_tampering.rb +10 -4
  72. data/lib/onfido/models/document_breakdown_visual_authenticity_breakdown_face_detection.rb +10 -4
  73. data/lib/onfido/models/document_breakdown_visual_authenticity_breakdown_fonts.rb +10 -4
  74. data/lib/onfido/models/document_breakdown_visual_authenticity_breakdown_original_document_present.rb +10 -4
  75. data/lib/onfido/models/document_breakdown_visual_authenticity_breakdown_other.rb +10 -4
  76. data/lib/onfido/models/document_breakdown_visual_authenticity_breakdown_picture_face_integrity.rb +10 -4
  77. data/lib/onfido/models/document_breakdown_visual_authenticity_breakdown_security_features.rb +10 -4
  78. data/lib/onfido/models/document_breakdown_visual_authenticity_breakdown_template.rb +10 -4
  79. data/lib/onfido/models/document_cdq_reasons.rb +10 -4
  80. data/lib/onfido/models/document_iq_reasons.rb +10 -4
  81. data/lib/onfido/models/document_odp_reasons.rb +10 -4
  82. data/lib/onfido/models/document_properties.rb +20 -16
  83. data/lib/onfido/models/document_properties_address_lines.rb +10 -4
  84. data/lib/onfido/models/document_properties_barcode_inner.rb +10 -4
  85. data/lib/onfido/models/document_properties_document_classification.rb +10 -4
  86. data/lib/onfido/models/document_properties_document_numbers_inner.rb +10 -4
  87. data/lib/onfido/models/document_properties_driving_licence_information_item.rb +10 -4
  88. data/lib/onfido/models/document_properties_extracted_data.rb +10 -4
  89. data/lib/onfido/models/document_properties_nfc.rb +10 -4
  90. data/lib/onfido/models/document_properties_with_driving_licence_information.rb +697 -0
  91. data/lib/onfido/models/document_report.rb +30 -4
  92. data/lib/onfido/models/document_report_shared.rb +10 -4
  93. data/lib/onfido/models/document_response.rb +20 -4
  94. data/lib/onfido/models/document_shared.rb +10 -4
  95. data/lib/onfido/models/document_types.rb +1 -1
  96. data/lib/onfido/models/document_video_report.rb +30 -4
  97. data/lib/onfido/models/document_video_with_address_information_report.rb +30 -4
  98. data/lib/onfido/models/document_with_address_information_report.rb +30 -4
  99. data/lib/onfido/models/document_with_driver_verification_report.rb +30 -4
  100. data/lib/onfido/models/document_with_driver_verification_report_all_of_properties.rb +20 -16
  101. data/lib/onfido/models/document_with_driver_verification_report_all_of_properties_all_of_passenger_vehicle.rb +10 -4
  102. data/lib/onfido/models/document_with_driver_verification_report_all_of_properties_all_of_vehicle_class_details_inner.rb +10 -4
  103. data/lib/onfido/models/document_with_driving_licence_information_report.rb +31 -5
  104. data/lib/onfido/models/documents_list.rb +20 -4
  105. data/lib/onfido/models/error.rb +10 -4
  106. data/lib/onfido/models/error1.rb +10 -4
  107. data/lib/onfido/models/error_properties.rb +10 -4
  108. data/lib/onfido/models/error_properties1.rb +10 -4
  109. data/lib/onfido/models/extract_request.rb +20 -4
  110. data/lib/onfido/models/extraction.rb +10 -4
  111. data/lib/onfido/models/extraction_document_classification.rb +10 -4
  112. data/lib/onfido/models/extraction_extracted_data.rb +10 -4
  113. data/lib/onfido/models/facial_similarity_motion_breakdown.rb +10 -4
  114. data/lib/onfido/models/facial_similarity_motion_breakdown_face_comparison.rb +10 -4
  115. data/lib/onfido/models/facial_similarity_motion_breakdown_image_integrity.rb +10 -4
  116. data/lib/onfido/models/facial_similarity_motion_breakdown_image_integrity_breakdown.rb +10 -4
  117. data/lib/onfido/models/facial_similarity_motion_breakdown_image_integrity_breakdown_face_detected.rb +10 -4
  118. data/lib/onfido/models/facial_similarity_motion_breakdown_image_integrity_breakdown_source_integrity.rb +10 -4
  119. data/lib/onfido/models/facial_similarity_motion_breakdown_visual_authenticity.rb +10 -4
  120. data/lib/onfido/models/facial_similarity_motion_breakdown_visual_authenticity_breakdown.rb +10 -4
  121. data/lib/onfido/models/facial_similarity_motion_breakdown_visual_authenticity_breakdown_spoofing_detection.rb +10 -4
  122. data/lib/onfido/models/facial_similarity_motion_properties.rb +10 -4
  123. data/lib/onfido/models/facial_similarity_motion_report.rb +30 -4
  124. data/lib/onfido/models/facial_similarity_photo_breakdown.rb +10 -4
  125. data/lib/onfido/models/facial_similarity_photo_breakdown_face_comparison.rb +10 -4
  126. data/lib/onfido/models/facial_similarity_photo_breakdown_face_comparison_breakdown.rb +10 -4
  127. data/lib/onfido/models/facial_similarity_photo_breakdown_face_comparison_breakdown_face_match.rb +10 -4
  128. data/lib/onfido/models/facial_similarity_photo_breakdown_face_comparison_breakdown_face_match_properties.rb +10 -4
  129. data/lib/onfido/models/facial_similarity_photo_breakdown_image_integrity.rb +10 -4
  130. data/lib/onfido/models/facial_similarity_photo_breakdown_image_integrity_breakdown.rb +10 -4
  131. data/lib/onfido/models/facial_similarity_photo_breakdown_image_integrity_breakdown_face_detected.rb +10 -4
  132. data/lib/onfido/models/facial_similarity_photo_breakdown_image_integrity_breakdown_source_integrity.rb +10 -4
  133. data/lib/onfido/models/facial_similarity_photo_breakdown_visual_authenticity.rb +10 -4
  134. data/lib/onfido/models/facial_similarity_photo_breakdown_visual_authenticity_breakdown.rb +10 -4
  135. data/lib/onfido/models/facial_similarity_photo_breakdown_visual_authenticity_breakdown_spoofing_detection.rb +10 -4
  136. data/lib/onfido/models/facial_similarity_photo_breakdown_visual_authenticity_breakdown_spoofing_detection_properties.rb +10 -4
  137. data/lib/onfido/models/facial_similarity_photo_fully_auto_breakdown.rb +10 -4
  138. data/lib/onfido/models/facial_similarity_photo_fully_auto_breakdown_image_integrity.rb +10 -4
  139. data/lib/onfido/models/facial_similarity_photo_fully_auto_breakdown_image_integrity_breakdown.rb +10 -4
  140. data/lib/onfido/models/facial_similarity_photo_fully_auto_breakdown_image_integrity_breakdown_source_integrity.rb +10 -4
  141. data/lib/onfido/models/facial_similarity_photo_fully_auto_properties.rb +10 -4
  142. data/lib/onfido/models/facial_similarity_photo_fully_auto_report.rb +30 -4
  143. data/lib/onfido/models/facial_similarity_photo_properties.rb +10 -4
  144. data/lib/onfido/models/facial_similarity_photo_report.rb +30 -4
  145. data/lib/onfido/models/facial_similarity_report_media.rb +20 -4
  146. data/lib/onfido/models/facial_similarity_report_shared.rb +10 -4
  147. data/lib/onfido/models/facial_similarity_video_breakdown.rb +10 -4
  148. data/lib/onfido/models/facial_similarity_video_breakdown_face_comparison.rb +10 -4
  149. data/lib/onfido/models/facial_similarity_video_breakdown_image_integrity.rb +10 -4
  150. data/lib/onfido/models/facial_similarity_video_breakdown_image_integrity_breakdown.rb +10 -4
  151. data/lib/onfido/models/facial_similarity_video_breakdown_image_integrity_breakdown_face_detected.rb +10 -4
  152. data/lib/onfido/models/facial_similarity_video_breakdown_image_integrity_breakdown_source_integrity.rb +10 -4
  153. data/lib/onfido/models/facial_similarity_video_breakdown_visual_authenticity.rb +10 -4
  154. data/lib/onfido/models/facial_similarity_video_breakdown_visual_authenticity_breakdown.rb +10 -4
  155. data/lib/onfido/models/facial_similarity_video_breakdown_visual_authenticity_breakdown_liveness_detected.rb +10 -4
  156. data/lib/onfido/models/facial_similarity_video_breakdown_visual_authenticity_breakdown_spoofing_detection.rb +10 -4
  157. data/lib/onfido/models/facial_similarity_video_properties.rb +10 -4
  158. data/lib/onfido/models/facial_similarity_video_report.rb +30 -4
  159. data/lib/onfido/models/id_number.rb +10 -4
  160. data/lib/onfido/models/id_photo.rb +20 -4
  161. data/lib/onfido/models/id_photo_response.rb +20 -4
  162. data/lib/onfido/models/id_photos_list.rb +20 -4
  163. data/lib/onfido/models/identity_enhanced_breakdown.rb +10 -4
  164. data/lib/onfido/models/identity_enhanced_breakdown_address.rb +10 -4
  165. data/lib/onfido/models/identity_enhanced_breakdown_address_breakdown.rb +10 -4
  166. data/lib/onfido/models/identity_enhanced_breakdown_address_breakdown_credit_agencies.rb +10 -4
  167. data/lib/onfido/models/identity_enhanced_breakdown_address_breakdown_credit_agencies_properties.rb +11 -5
  168. data/lib/onfido/models/identity_enhanced_breakdown_address_breakdown_telephone_database.rb +10 -4
  169. data/lib/onfido/models/identity_enhanced_breakdown_address_breakdown_voting_register.rb +10 -4
  170. data/lib/onfido/models/identity_enhanced_breakdown_date_of_birth.rb +10 -4
  171. data/lib/onfido/models/identity_enhanced_breakdown_date_of_birth_breakdown.rb +10 -4
  172. data/lib/onfido/models/identity_enhanced_breakdown_date_of_birth_breakdown_credit_agencies.rb +10 -4
  173. data/lib/onfido/models/identity_enhanced_breakdown_date_of_birth_breakdown_voting_register.rb +10 -4
  174. data/lib/onfido/models/identity_enhanced_breakdown_mortality.rb +10 -4
  175. data/lib/onfido/models/identity_enhanced_breakdown_sources.rb +10 -4
  176. data/lib/onfido/models/identity_enhanced_breakdown_sources_breakdown.rb +10 -4
  177. data/lib/onfido/models/identity_enhanced_breakdown_sources_breakdown_total_sources.rb +10 -4
  178. data/lib/onfido/models/identity_enhanced_breakdown_sources_breakdown_total_sources_properties.rb +11 -5
  179. data/lib/onfido/models/identity_enhanced_properties.rb +10 -4
  180. data/lib/onfido/models/identity_enhanced_properties_matched_addresses_inner.rb +10 -4
  181. data/lib/onfido/models/identity_enhanced_report.rb +30 -4
  182. data/lib/onfido/models/idr_ssn_breakdown.rb +10 -4
  183. data/lib/onfido/models/idr_ssn_breakdown_breakdown.rb +10 -4
  184. data/lib/onfido/models/idr_ssn_breakdown_breakdown_full_match.rb +10 -4
  185. data/lib/onfido/models/idr_ssn_breakdown_breakdown_last4_digits_match.rb +10 -4
  186. data/lib/onfido/models/india_pan_report.rb +30 -4
  187. data/lib/onfido/models/india_pan_report_all_of_breakdown.rb +10 -4
  188. data/lib/onfido/models/india_pan_report_all_of_breakdown_device.rb +10 -4
  189. data/lib/onfido/models/india_pan_report_all_of_breakdown_device_breakdown.rb +10 -4
  190. data/lib/onfido/models/india_pan_report_all_of_breakdown_device_breakdown_pan_valid.rb +10 -4
  191. data/lib/onfido/models/india_pan_report_all_of_properties.rb +10 -4
  192. data/lib/onfido/models/india_pan_report_all_of_properties_device.rb +10 -4
  193. data/lib/onfido/models/known_faces_breakdown.rb +10 -4
  194. data/lib/onfido/models/known_faces_breakdown_image_integrity.rb +10 -4
  195. data/lib/onfido/models/known_faces_breakdown_previously_seen_faces.rb +10 -4
  196. data/lib/onfido/models/known_faces_properties.rb +10 -4
  197. data/lib/onfido/models/known_faces_properties_matches_inner.rb +10 -4
  198. data/lib/onfido/models/known_faces_report.rb +30 -4
  199. data/lib/onfido/models/live_photo.rb +20 -4
  200. data/lib/onfido/models/live_photo_response.rb +20 -4
  201. data/lib/onfido/models/live_photos_list.rb +20 -4
  202. data/lib/onfido/models/live_video.rb +10 -4
  203. data/lib/onfido/models/live_videos_list.rb +20 -4
  204. data/lib/onfido/models/location.rb +10 -4
  205. data/lib/onfido/models/location_builder.rb +10 -4
  206. data/lib/onfido/models/location_shared.rb +10 -4
  207. data/lib/onfido/models/motion_capture.rb +10 -4
  208. data/lib/onfido/models/motion_captures_list.rb +20 -4
  209. data/lib/onfido/models/passkey.rb +353 -0
  210. data/lib/onfido/models/passkey_updater.rb +262 -0
  211. data/lib/onfido/models/{device_intelligence_breakdown_properties.rb → passkeys_list.rb} +38 -31
  212. data/lib/onfido/models/photo_auto_reasons.rb +10 -4
  213. data/lib/onfido/models/photo_reasons.rb +10 -4
  214. data/lib/onfido/models/proof_of_address_breakdown.rb +10 -4
  215. data/lib/onfido/models/proof_of_address_breakdown_data_comparison.rb +10 -4
  216. data/lib/onfido/models/proof_of_address_breakdown_data_comparison_breakdown.rb +10 -4
  217. data/lib/onfido/models/proof_of_address_breakdown_document_classification.rb +10 -4
  218. data/lib/onfido/models/proof_of_address_breakdown_document_classification_breakdown.rb +10 -4
  219. data/lib/onfido/models/proof_of_address_breakdown_image_integrity.rb +10 -4
  220. data/lib/onfido/models/proof_of_address_breakdown_image_integrity_breakdown.rb +10 -4
  221. data/lib/onfido/models/proof_of_address_properties.rb +10 -4
  222. data/lib/onfido/models/proof_of_address_report.rb +30 -4
  223. data/lib/onfido/models/repeat_attempts_list.rb +20 -4
  224. data/lib/onfido/models/repeat_attempts_list_repeat_attempts_inner.rb +10 -4
  225. data/lib/onfido/models/report.rb +1 -1
  226. data/lib/onfido/models/report_configuration.rb +10 -4
  227. data/lib/onfido/models/report_configuration_facial_similarity.rb +10 -4
  228. data/lib/onfido/models/report_document.rb +20 -4
  229. data/lib/onfido/models/report_name.rb +1 -1
  230. data/lib/onfido/models/report_result.rb +1 -1
  231. data/lib/onfido/models/report_shared.rb +30 -4
  232. data/lib/onfido/models/report_status.rb +1 -1
  233. data/lib/onfido/models/report_sub_result.rb +1 -1
  234. data/lib/onfido/models/reports_list.rb +20 -4
  235. data/lib/onfido/models/results_feedback.rb +10 -4
  236. data/lib/onfido/models/sdk_token.rb +20 -4
  237. data/lib/onfido/models/sdk_token_builder.rb +20 -4
  238. data/lib/onfido/models/sdk_token_request.rb +20 -4
  239. data/lib/onfido/models/sdk_token_response.rb +20 -4
  240. data/lib/onfido/models/signing_document.rb +316 -0
  241. data/lib/onfido/models/signing_document_response.rb +298 -0
  242. data/lib/onfido/models/{device_intelligence_breakdown_breakdown.rb → signing_document_shared.rb} +20 -13
  243. data/lib/onfido/models/signing_documents_list.rb +239 -0
  244. data/lib/onfido/models/task.rb +10 -4
  245. data/lib/onfido/models/task_item.rb +10 -4
  246. data/lib/onfido/models/timeline_file_reference.rb +30 -4
  247. data/lib/onfido/models/us_driving_licence_breakdown.rb +10 -4
  248. data/lib/onfido/models/us_driving_licence_breakdown_address.rb +10 -4
  249. data/lib/onfido/models/us_driving_licence_breakdown_address_breakdown.rb +10 -4
  250. data/lib/onfido/models/us_driving_licence_breakdown_document.rb +10 -4
  251. data/lib/onfido/models/us_driving_licence_breakdown_document_breakdown.rb +10 -4
  252. data/lib/onfido/models/us_driving_licence_breakdown_personal.rb +10 -4
  253. data/lib/onfido/models/us_driving_licence_breakdown_personal_breakdown.rb +10 -4
  254. data/lib/onfido/models/us_driving_licence_builder.rb +20 -4
  255. data/lib/onfido/models/us_driving_licence_report.rb +30 -4
  256. data/lib/onfido/models/us_driving_licence_shared.rb +20 -4
  257. data/lib/onfido/models/video_reasons.rb +10 -4
  258. data/lib/onfido/models/watchlist_aml_breakdown.rb +10 -4
  259. data/lib/onfido/models/watchlist_aml_breakdown_adverse_media.rb +10 -4
  260. data/lib/onfido/models/watchlist_aml_breakdown_legal_and_regulatory_warnings.rb +10 -4
  261. data/lib/onfido/models/watchlist_aml_breakdown_politically_exposed_person.rb +10 -4
  262. data/lib/onfido/models/watchlist_aml_breakdown_sanction.rb +10 -4
  263. data/lib/onfido/models/watchlist_aml_properties.rb +10 -4
  264. data/lib/onfido/models/watchlist_aml_report.rb +30 -4
  265. data/lib/onfido/models/watchlist_enhanced_breakdown.rb +10 -4
  266. data/lib/onfido/models/watchlist_enhanced_properties.rb +10 -4
  267. data/lib/onfido/models/watchlist_enhanced_properties_records_inner.rb +10 -4
  268. data/lib/onfido/models/watchlist_enhanced_properties_records_inner_address_inner.rb +10 -4
  269. data/lib/onfido/models/watchlist_enhanced_properties_records_inner_alias_inner.rb +10 -4
  270. data/lib/onfido/models/watchlist_enhanced_properties_records_inner_associate_inner.rb +10 -4
  271. data/lib/onfido/models/watchlist_enhanced_properties_records_inner_attribute_inner.rb +10 -4
  272. data/lib/onfido/models/watchlist_enhanced_properties_records_inner_event_inner.rb +10 -4
  273. data/lib/onfido/models/watchlist_enhanced_properties_records_inner_event_inner_source.rb +10 -4
  274. data/lib/onfido/models/watchlist_enhanced_properties_records_inner_source_inner.rb +10 -4
  275. data/lib/onfido/models/watchlist_enhanced_report.rb +30 -4
  276. data/lib/onfido/models/watchlist_monitor.rb +30 -4
  277. data/lib/onfido/models/watchlist_monitor_builder.rb +20 -4
  278. data/lib/onfido/models/watchlist_monitor_match.rb +10 -4
  279. data/lib/onfido/models/watchlist_monitor_matches_list.rb +20 -4
  280. data/lib/onfido/models/watchlist_monitor_matches_updater.rb +10 -4
  281. data/lib/onfido/models/watchlist_monitor_response.rb +20 -4
  282. data/lib/onfido/models/watchlist_monitor_shared.rb +20 -4
  283. data/lib/onfido/models/watchlist_monitors_list.rb +20 -4
  284. data/lib/onfido/models/watchlist_peps_only_report.rb +30 -4
  285. data/lib/onfido/models/watchlist_sanctions_only_report.rb +30 -4
  286. data/lib/onfido/models/watchlist_standard_breakdown.rb +10 -4
  287. data/lib/onfido/models/watchlist_standard_properties.rb +10 -4
  288. data/lib/onfido/models/watchlist_standard_report.rb +30 -4
  289. data/lib/onfido/models/webhook.rb +20 -4
  290. data/lib/onfido/models/webhook_builder.rb +20 -4
  291. data/lib/onfido/models/webhook_create.rb +20 -4
  292. data/lib/onfido/models/webhook_event.rb +10 -4
  293. data/lib/onfido/models/webhook_event_object_status.rb +1 -1
  294. data/lib/onfido/models/webhook_event_payload.rb +20 -4
  295. data/lib/onfido/models/webhook_event_payload_object.rb +20 -4
  296. data/lib/onfido/models/webhook_event_payload_resource.rb +54 -5
  297. data/lib/onfido/models/webhook_event_resource_status.rb +50 -0
  298. data/lib/onfido/models/webhook_event_resource_type.rb +1 -1
  299. data/lib/onfido/models/webhook_event_type.rb +1 -1
  300. data/lib/onfido/models/webhook_resend.rb +10 -4
  301. data/lib/onfido/models/webhook_response.rb +20 -4
  302. data/lib/onfido/models/webhook_shared.rb +10 -4
  303. data/lib/onfido/models/webhook_update.rb +10 -4
  304. data/lib/onfido/models/webhook_updater.rb +10 -4
  305. data/lib/onfido/models/webhooks_list.rb +20 -4
  306. data/lib/onfido/models/webhooks_resend_item.rb +30 -4
  307. data/lib/onfido/models/workflow_run.rb +40 -4
  308. data/lib/onfido/models/workflow_run_builder.rb +30 -4
  309. data/lib/onfido/models/workflow_run_error.rb +10 -4
  310. data/lib/onfido/models/workflow_run_link.rb +10 -4
  311. data/lib/onfido/models/workflow_run_request.rb +10 -4
  312. data/lib/onfido/models/workflow_run_response.rb +20 -4
  313. data/lib/onfido/models/workflow_run_shared.rb +30 -4
  314. data/lib/onfido/models/workflow_run_status.rb +1 -1
  315. data/lib/onfido/version.rb +2 -2
  316. data/lib/onfido.rb +13 -6
  317. data/onfido.gemspec +1 -1
  318. data/spec/integrations/media/sample_signing_document.pdf +33 -0
  319. data/spec/integrations/passkey_spec.rb +63 -0
  320. data/spec/integrations/signing_document_spec.rb +61 -0
  321. data/spec/integrations/workflow_run_spec.rb +7 -3
  322. data/spec/shared_contexts/with_signing_document.rb +15 -0
  323. data/spec/spec_helper.rb +1 -1
  324. metadata +41 -26
@@ -0,0 +1,353 @@
1
+ =begin
2
+ #Onfido Public API v3.6
3
+
4
+ #The Onfido Public API (v3.6)
5
+
6
+ The version of the OpenAPI document: v3.6
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.16.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Onfido
17
+ class Passkey
18
+ # Passkey identifier.
19
+ attr_accessor :id
20
+
21
+ # domain that the passkey is registered to, the rpId.
22
+ attr_accessor :application_domain
23
+
24
+ # Current passkey state.
25
+ attr_accessor :state
26
+
27
+ # Timestamp when the passkey was created.
28
+ attr_accessor :created_at
29
+
30
+ # Timestamp when the passkey was last used.
31
+ attr_accessor :last_used_at
32
+
33
+ class EnumAttributeValidator
34
+ attr_reader :datatype
35
+ attr_reader :allowable_values
36
+
37
+ def initialize(datatype, allowable_values)
38
+ @allowable_values = allowable_values.map do |value|
39
+ case datatype.to_s
40
+ when /Integer/i
41
+ value.to_i
42
+ when /Float/i
43
+ value.to_f
44
+ else
45
+ value
46
+ end
47
+ end
48
+ end
49
+
50
+ def valid?(value)
51
+ !value || allowable_values.include?(value)
52
+ end
53
+ end
54
+
55
+ # Attribute mapping from ruby-style variable name to JSON key.
56
+ def self.attribute_map
57
+ {
58
+ :'id' => :'id',
59
+ :'application_domain' => :'application_domain',
60
+ :'state' => :'state',
61
+ :'created_at' => :'created_at',
62
+ :'last_used_at' => :'last_used_at'
63
+ }
64
+ end
65
+
66
+ # Returns attribute mapping this model knows about
67
+ def self.acceptable_attribute_map
68
+ attribute_map
69
+ end
70
+
71
+ # Returns all the JSON keys this model knows about
72
+ def self.acceptable_attributes
73
+ acceptable_attribute_map.values
74
+ end
75
+
76
+ # Attribute type mapping.
77
+ def self.openapi_types
78
+ {
79
+ :'id' => :'String',
80
+ :'application_domain' => :'String',
81
+ :'state' => :'String',
82
+ :'created_at' => :'Time',
83
+ :'last_used_at' => :'Time'
84
+ }
85
+ end
86
+
87
+ # List of attributes with nullable: true
88
+ def self.openapi_nullable
89
+ Set.new([
90
+ ])
91
+ end
92
+
93
+ # Initializes the object
94
+ # @param [Hash] attributes Model attributes in the form of hash
95
+ def initialize(attributes = {})
96
+ if (!attributes.is_a?(Hash))
97
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Onfido::Passkey` initialize method"
98
+ end
99
+
100
+ # check to see if the attribute exists and convert string to symbol for hash key
101
+ acceptable_attribute_map = self.class.acceptable_attribute_map
102
+ attributes = attributes.each_with_object({}) { |(k, v), h|
103
+ if (!acceptable_attribute_map.key?(k.to_sym))
104
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Onfido::Passkey`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
105
+ end
106
+ h[k.to_sym] = v
107
+ }
108
+
109
+ if attributes.key?(:'id')
110
+ self.id = attributes[:'id']
111
+ else
112
+ self.id = nil
113
+ end
114
+
115
+ if attributes.key?(:'application_domain')
116
+ self.application_domain = attributes[:'application_domain']
117
+ else
118
+ self.application_domain = nil
119
+ end
120
+
121
+ if attributes.key?(:'state')
122
+ self.state = attributes[:'state']
123
+ else
124
+ self.state = nil
125
+ end
126
+
127
+ if attributes.key?(:'created_at')
128
+ self.created_at = attributes[:'created_at']
129
+ else
130
+ self.created_at = nil
131
+ end
132
+
133
+ if attributes.key?(:'last_used_at')
134
+ self.last_used_at = attributes[:'last_used_at']
135
+ end
136
+ end
137
+
138
+ # Show invalid properties with the reasons. Usually used together with valid?
139
+ # @return Array for valid properties with the reasons
140
+ def list_invalid_properties
141
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
142
+ invalid_properties = Array.new
143
+ if @id.nil?
144
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
145
+ end
146
+
147
+ if @application_domain.nil?
148
+ invalid_properties.push('invalid value for "application_domain", application_domain cannot be nil.')
149
+ end
150
+
151
+ if @state.nil?
152
+ invalid_properties.push('invalid value for "state", state cannot be nil.')
153
+ end
154
+
155
+ if @created_at.nil?
156
+ invalid_properties.push('invalid value for "created_at", created_at cannot be nil.')
157
+ end
158
+
159
+ invalid_properties
160
+ end
161
+
162
+ # Check to see if the all the properties in the model are valid
163
+ # @return true if the model is valid
164
+ def valid?
165
+ warn '[DEPRECATED] the `valid?` method is obsolete'
166
+ return false if @id.nil?
167
+ return false if @application_domain.nil?
168
+ return false if @state.nil?
169
+ state_validator = EnumAttributeValidator.new('String', ["ACTIVE", "INACTIVE", "unknown_default_open_api"])
170
+ return false unless state_validator.valid?(@state)
171
+ return false if @created_at.nil?
172
+ true
173
+ end
174
+
175
+ # Custom attribute writer method with validation
176
+ # @param [Object] id Value to be assigned
177
+ def id=(id)
178
+ if id.nil?
179
+ fail ArgumentError, 'id cannot be nil'
180
+ end
181
+
182
+ @id = id
183
+ end
184
+
185
+ # Custom attribute writer method with validation
186
+ # @param [Object] application_domain Value to be assigned
187
+ def application_domain=(application_domain)
188
+ if application_domain.nil?
189
+ fail ArgumentError, 'application_domain cannot be nil'
190
+ end
191
+
192
+ @application_domain = application_domain
193
+ end
194
+
195
+ # Custom attribute writer method checking allowed values (enum).
196
+ # @param [Object] state Object to be assigned
197
+ def state=(state)
198
+ validator = EnumAttributeValidator.new('String', ["ACTIVE", "INACTIVE", "unknown_default_open_api"])
199
+ unless validator.valid?(state)
200
+ fail ArgumentError, "invalid value for \"state\", must be one of #{validator.allowable_values}."
201
+ end
202
+ @state = state
203
+ end
204
+
205
+ # Custom attribute writer method with validation
206
+ # @param [Object] created_at Value to be assigned
207
+ def created_at=(created_at)
208
+ if created_at.nil?
209
+ fail ArgumentError, 'created_at cannot be nil'
210
+ end
211
+
212
+ @created_at = created_at
213
+ end
214
+
215
+ # Checks equality by comparing each attribute.
216
+ # @param [Object] Object to be compared
217
+ def ==(o)
218
+ return true if self.equal?(o)
219
+ self.class == o.class &&
220
+ id == o.id &&
221
+ application_domain == o.application_domain &&
222
+ state == o.state &&
223
+ created_at == o.created_at &&
224
+ last_used_at == o.last_used_at
225
+ end
226
+
227
+ # @see the `==` method
228
+ # @param [Object] Object to be compared
229
+ def eql?(o)
230
+ self == o
231
+ end
232
+
233
+ # Calculates hash code according to all attributes.
234
+ # @return [Integer] Hash code
235
+ def hash
236
+ [id, application_domain, state, created_at, last_used_at].hash
237
+ end
238
+
239
+ # Builds the object from hash
240
+ # @param [Hash] attributes Model attributes in the form of hash
241
+ # @return [Object] Returns the model itself
242
+ def self.build_from_hash(attributes)
243
+ return nil unless attributes.is_a?(Hash)
244
+ attributes = attributes.transform_keys(&:to_sym)
245
+ transformed_hash = {}
246
+ openapi_types.each_pair do |key, type|
247
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
248
+ transformed_hash["#{key}"] = nil
249
+ elsif type =~ /\AArray<(.*)>/i
250
+ # check to ensure the input is an array given that the attribute
251
+ # is documented as an array but the input is not
252
+ if attributes[attribute_map[key]].is_a?(Array)
253
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
254
+ end
255
+ elsif !attributes[attribute_map[key]].nil?
256
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
257
+ end
258
+ end
259
+ new(transformed_hash)
260
+ end
261
+
262
+ # Deserializes the data based on type
263
+ # @param string type Data type
264
+ # @param string value Value to be deserialized
265
+ # @return [Object] Deserialized data
266
+ def self._deserialize(type, value)
267
+ case type.to_sym
268
+ when :Time
269
+ Time.parse(value)
270
+ when :Date
271
+ Date.parse(value)
272
+ when :String
273
+ value.to_s
274
+ when :Integer
275
+ value.to_i
276
+ when :Float
277
+ value.to_f
278
+ when :Boolean
279
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
280
+ true
281
+ else
282
+ false
283
+ end
284
+ when :Object
285
+ # generic object (usually a Hash), return directly
286
+ value
287
+ when /\AArray<(?<inner_type>.+)>\z/
288
+ inner_type = Regexp.last_match[:inner_type]
289
+ value.map { |v| _deserialize(inner_type, v) }
290
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
291
+ k_type = Regexp.last_match[:k_type]
292
+ v_type = Regexp.last_match[:v_type]
293
+ {}.tap do |hash|
294
+ value.each do |k, v|
295
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
296
+ end
297
+ end
298
+ else # model
299
+ # models (e.g. Pet) or oneOf
300
+ klass = Onfido.const_get(type)
301
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
302
+ end
303
+ end
304
+
305
+ # Returns the string representation of the object
306
+ # @return [String] String presentation of the object
307
+ def to_s
308
+ to_hash.to_s
309
+ end
310
+
311
+ # to_body is an alias to to_hash (backward compatibility)
312
+ # @return [Hash] Returns the object in the form of hash
313
+ def to_body
314
+ to_hash
315
+ end
316
+
317
+ # Returns the object in the form of hash
318
+ # @return [Hash] Returns the object in the form of hash
319
+ def to_hash
320
+ hash = {}
321
+ self.class.attribute_map.each_pair do |attr, param|
322
+ value = self.send(attr)
323
+ if value.nil?
324
+ is_nullable = self.class.openapi_nullable.include?(attr)
325
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
326
+ end
327
+
328
+ hash[param] = _to_hash(value)
329
+ end
330
+ hash
331
+ end
332
+
333
+ # Outputs non-array value in the form of hash
334
+ # For object, use to_hash. Otherwise, just return the value
335
+ # @param [Object] value Any valid value
336
+ # @return [Hash] Returns the value in the form of hash
337
+ def _to_hash(value)
338
+ if value.is_a?(Array)
339
+ value.compact.map { |v| _to_hash(v) }
340
+ elsif value.is_a?(Hash)
341
+ {}.tap do |hash|
342
+ value.each { |k, v| hash[k] = _to_hash(v) }
343
+ end
344
+ elsif value.respond_to? :to_hash
345
+ value.to_hash
346
+ else
347
+ value
348
+ end
349
+ end
350
+
351
+ end
352
+
353
+ end
@@ -0,0 +1,262 @@
1
+ =begin
2
+ #Onfido Public API v3.6
3
+
4
+ #The Onfido Public API (v3.6)
5
+
6
+ The version of the OpenAPI document: v3.6
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.16.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Onfido
17
+ class PasskeyUpdater
18
+ # Desired passkey state value.
19
+ attr_accessor :state
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
+ :'state' => :'state'
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
+ :'state' => :'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 `Onfido::PasskeyUpdater` 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 `Onfido::PasskeyUpdater`. 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?(:'state')
90
+ self.state = attributes[:'state']
91
+ else
92
+ self.state = 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 @state.nil?
102
+ invalid_properties.push('invalid value for "state", state 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 @state.nil?
113
+ state_validator = EnumAttributeValidator.new('String', ["ACTIVE", "INACTIVE", "unknown_default_open_api"])
114
+ return false unless state_validator.valid?(@state)
115
+ true
116
+ end
117
+
118
+ # Custom attribute writer method checking allowed values (enum).
119
+ # @param [Object] state Object to be assigned
120
+ def state=(state)
121
+ validator = EnumAttributeValidator.new('String', ["ACTIVE", "INACTIVE", "unknown_default_open_api"])
122
+ unless validator.valid?(state)
123
+ fail ArgumentError, "invalid value for \"state\", must be one of #{validator.allowable_values}."
124
+ end
125
+ @state = state
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
+ state == o.state
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
+ [state].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
+ # Deserializes the data based on type
172
+ # @param string type Data type
173
+ # @param string value Value to be deserialized
174
+ # @return [Object] Deserialized data
175
+ def self._deserialize(type, value)
176
+ case type.to_sym
177
+ when :Time
178
+ Time.parse(value)
179
+ when :Date
180
+ Date.parse(value)
181
+ when :String
182
+ value.to_s
183
+ when :Integer
184
+ value.to_i
185
+ when :Float
186
+ value.to_f
187
+ when :Boolean
188
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
189
+ true
190
+ else
191
+ false
192
+ end
193
+ when :Object
194
+ # generic object (usually a Hash), return directly
195
+ value
196
+ when /\AArray<(?<inner_type>.+)>\z/
197
+ inner_type = Regexp.last_match[:inner_type]
198
+ value.map { |v| _deserialize(inner_type, v) }
199
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
200
+ k_type = Regexp.last_match[:k_type]
201
+ v_type = Regexp.last_match[:v_type]
202
+ {}.tap do |hash|
203
+ value.each do |k, v|
204
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
205
+ end
206
+ end
207
+ else # model
208
+ # models (e.g. Pet) or oneOf
209
+ klass = Onfido.const_get(type)
210
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
211
+ end
212
+ end
213
+
214
+ # Returns the string representation of the object
215
+ # @return [String] String presentation of the object
216
+ def to_s
217
+ to_hash.to_s
218
+ end
219
+
220
+ # to_body is an alias to to_hash (backward compatibility)
221
+ # @return [Hash] Returns the object in the form of hash
222
+ def to_body
223
+ to_hash
224
+ end
225
+
226
+ # Returns the object in the form of hash
227
+ # @return [Hash] Returns the object in the form of hash
228
+ def to_hash
229
+ hash = {}
230
+ self.class.attribute_map.each_pair do |attr, param|
231
+ value = self.send(attr)
232
+ if value.nil?
233
+ is_nullable = self.class.openapi_nullable.include?(attr)
234
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
235
+ end
236
+
237
+ hash[param] = _to_hash(value)
238
+ end
239
+ hash
240
+ end
241
+
242
+ # Outputs non-array value in the form of hash
243
+ # For object, use to_hash. Otherwise, just return the value
244
+ # @param [Object] value Any valid value
245
+ # @return [Hash] Returns the value in the form of hash
246
+ def _to_hash(value)
247
+ if value.is_a?(Array)
248
+ value.compact.map { |v| _to_hash(v) }
249
+ elsif value.is_a?(Hash)
250
+ {}.tap do |hash|
251
+ value.each { |k, v| hash[k] = _to_hash(v) }
252
+ end
253
+ elsif value.respond_to? :to_hash
254
+ value.to_hash
255
+ else
256
+ value
257
+ end
258
+ end
259
+
260
+ end
261
+
262
+ end