mindee 3.20.0 → 4.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 (603) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +2 -1
  3. data/CHANGELOG.md +23 -0
  4. data/README.md +25 -44
  5. data/Steepfile +31 -0
  6. data/bin/mindee.rb +30 -62
  7. data/docs/advanced_file_operations.md +111 -0
  8. data/docs/code_samples/bank_account_details_v1.txt +5 -0
  9. data/docs/code_samples/bank_account_details_v2.txt +5 -0
  10. data/docs/code_samples/bank_check_v1.txt +5 -0
  11. data/docs/code_samples/bank_statement_fr_v2_async.txt +6 -1
  12. data/docs/code_samples/barcode_reader_v1.txt +5 -0
  13. data/docs/code_samples/bill_of_lading_v1_async.txt +6 -1
  14. data/docs/code_samples/business_card_v1_async.txt +6 -1
  15. data/docs/code_samples/carte_grise_v1.txt +5 -0
  16. data/docs/code_samples/cropper_v1.txt +5 -0
  17. data/docs/code_samples/default.txt +8 -2
  18. data/docs/code_samples/default_async.txt +7 -2
  19. data/docs/code_samples/delivery_notes_v1_async.txt +6 -1
  20. data/docs/code_samples/driver_license_v1_async.txt +6 -1
  21. data/docs/code_samples/energy_bill_fra_v1_async.txt +6 -1
  22. data/docs/code_samples/expense_receipts_v5.txt +7 -1
  23. data/docs/code_samples/expense_receipts_v5_async.txt +6 -1
  24. data/docs/code_samples/financial_document_v1.txt +7 -1
  25. data/docs/code_samples/financial_document_v1_async.txt +6 -1
  26. data/docs/code_samples/french_healthcard_v1_async.txt +6 -1
  27. data/docs/code_samples/idcard_fr_v1.txt +5 -0
  28. data/docs/code_samples/idcard_fr_v2.txt +5 -0
  29. data/docs/code_samples/ind_passport_v1_async.txt +6 -1
  30. data/docs/code_samples/international_id_v2_async.txt +6 -1
  31. data/docs/code_samples/invoice_splitter_v1_async.txt +6 -1
  32. data/docs/code_samples/invoices_v4.txt +7 -1
  33. data/docs/code_samples/invoices_v4_async.txt +6 -1
  34. data/docs/code_samples/license_plates_v1.txt +5 -0
  35. data/docs/code_samples/multi_receipts_detector_v1.txt +5 -0
  36. data/docs/code_samples/nutrition_facts_v1_async.txt +6 -1
  37. data/docs/code_samples/passport_v1.txt +5 -0
  38. data/docs/code_samples/payslip_fra_v2_async.txt +6 -1
  39. data/docs/code_samples/payslip_fra_v3_async.txt +6 -1
  40. data/docs/code_samples/resume_v1_async.txt +6 -1
  41. data/docs/code_samples/us_healthcare_cards_v1_async.txt +6 -1
  42. data/docs/code_samples/us_mail_v3_async.txt +6 -1
  43. data/docs/code_samples/us_w9_v1.txt +5 -0
  44. data/docs/getting_started.md +50 -118
  45. data/docs/{barcode_reader_v1.md → global_products/barcode_reader_v1.md} +26 -9
  46. data/docs/{bill_of_lading_v1.md → global_products/bill_of_lading_v1.md} +62 -37
  47. data/docs/{business_card_v1.md → global_products/business_card_v1.md} +35 -10
  48. data/docs/{cropper_v1.md → global_products/cropper_v1.md} +32 -13
  49. data/docs/{delivery_notes_v1.md → global_products/delivery_notes_v1.md} +35 -10
  50. data/docs/{driver_license_v1.md → global_products/driver_license_v1.md} +35 -10
  51. data/docs/{expense_receipts_v5.md → global_products/expense_receipts_v5.md} +57 -21
  52. data/docs/{financial_document_v1.md → global_products/financial_document_v1.md} +65 -28
  53. data/docs/{international_id_v2.md → global_products/international_id_v2.md} +39 -13
  54. data/docs/{invoice_splitter_v1.md → global_products/invoice_splitter_v1.md} +25 -6
  55. data/docs/{invoices_v4.md → global_products/invoices_v4.md} +65 -28
  56. data/docs/{multi_receipts_detector_v1.md → global_products/multi_receipts_detector_v1.md} +32 -13
  57. data/docs/{nutrition_facts_v1.md → global_products/nutrition_facts_v1.md} +103 -78
  58. data/docs/{passport_v1.md → global_products/passport_v1.md} +26 -9
  59. data/docs/{resume_v1.md → global_products/resume_v1.md} +72 -46
  60. data/docs/{generated_v1.md → global_products/universal.md} +39 -19
  61. data/docs/global_products.md +6 -0
  62. data/docs/loading_a_document.md +316 -0
  63. data/docs/{bank_account_details_v2.md → localized_products/bank_account_details_v2.md} +24 -7
  64. data/docs/{bank_check_v1.md → localized_products/bank_check_v1.md} +37 -18
  65. data/docs/{bank_statement_fr_v2.md → localized_products/bank_statement_fr_v2.md} +37 -12
  66. data/docs/{carte_grise_v1.md → localized_products/carte_grise_v1.md} +25 -8
  67. data/docs/{energy_bill_fra_v1.md → localized_products/energy_bill_fra_v1.md} +70 -45
  68. data/docs/{french_healthcard_v1.md → localized_products/french_healthcard_v1.md} +36 -11
  69. data/docs/{idcard_fr_v2.md → localized_products/idcard_fr_v2.md} +34 -16
  70. data/docs/{ind_passport_v1.md → localized_products/ind_passport_v1.md} +37 -11
  71. data/docs/{license_plates_v1.md → localized_products/license_plates_v1.md} +25 -8
  72. data/docs/{payslip_fra_v3.md → localized_products/payslip_fra_v3.md} +80 -55
  73. data/docs/{us_healthcare_cards_v1.md → localized_products/us_healthcare_cards_v1.md} +37 -12
  74. data/docs/{us_mail_v3.md → localized_products/us_mail_v3.md} +49 -24
  75. data/docs/{us_w9_v1.md → localized_products/us_w9_v1.md} +64 -45
  76. data/docs/localized_products.md +6 -0
  77. data/examples/auto_invoice_splitter_extraction.rb +5 -5
  78. data/examples/auto_multi_receipts_detector_extraction.rb +4 -5
  79. data/lib/mindee/client.rb +354 -209
  80. data/lib/mindee/errors/mindee_error.rb +17 -0
  81. data/lib/mindee/errors/mindee_http_error.rb +36 -0
  82. data/lib/mindee/errors/mindee_input_error.rb +30 -0
  83. data/lib/mindee/errors.rb +5 -0
  84. data/lib/mindee/extraction/multi_receipts_extractor.rb +28 -1
  85. data/lib/mindee/extraction.rb +0 -3
  86. data/lib/mindee/geometry/polygon.rb +1 -1
  87. data/lib/mindee/geometry/utils.rb +1 -1
  88. data/lib/mindee/http/endpoint.rb +48 -40
  89. data/lib/mindee/http/{error.rb → http_error_handler.rb} +5 -35
  90. data/lib/mindee/http/response_validation.rb +2 -2
  91. data/lib/mindee/http/workflow_endpoint.rb +12 -12
  92. data/lib/mindee/http.rb +1 -1
  93. data/lib/mindee/{extraction/common → image}/extracted_image.rb +22 -18
  94. data/lib/mindee/{extraction/common → image}/image_extractor.rb +20 -78
  95. data/lib/mindee/image/image_utils.rb +68 -7
  96. data/lib/mindee/image.rb +2 -0
  97. data/lib/mindee/input/local_response.rb +8 -8
  98. data/lib/mindee/input/sources/base64_input_source.rb +6 -6
  99. data/lib/mindee/input/sources/bytes_input_source.rb +3 -3
  100. data/lib/mindee/input/sources/file_input_source.rb +3 -3
  101. data/lib/mindee/input/sources/local_input_source.rb +43 -41
  102. data/lib/mindee/input/sources/path_input_source.rb +3 -3
  103. data/lib/mindee/input/sources/url_input_source.rb +11 -8
  104. data/lib/mindee/logging/logger.rb +16 -0
  105. data/lib/mindee/logging.rb +3 -0
  106. data/lib/mindee/parsing/common/api_request.rb +36 -0
  107. data/lib/mindee/parsing/common/api_response.rb +6 -96
  108. data/lib/mindee/parsing/common/document.rb +12 -8
  109. data/lib/mindee/parsing/common/execution.rb +4 -2
  110. data/lib/mindee/parsing/common/execution_priority.rb +6 -0
  111. data/lib/mindee/parsing/common/extras/cropper_extra.rb +2 -1
  112. data/lib/mindee/parsing/common/extras/extras.rb +9 -4
  113. data/lib/mindee/parsing/common/extras/full_text_ocr_extra.rb +1 -0
  114. data/lib/mindee/parsing/common/inference.rb +23 -4
  115. data/lib/mindee/parsing/common/job.rb +46 -0
  116. data/lib/mindee/parsing/common/ocr/mvision_v1.rb +6 -6
  117. data/lib/mindee/parsing/common/ocr/ocr.rb +29 -29
  118. data/lib/mindee/parsing/common/page.rb +5 -3
  119. data/lib/mindee/parsing/common/prediction.rb +2 -0
  120. data/lib/mindee/parsing/common/workflow_response.rb +28 -0
  121. data/lib/mindee/parsing/common.rb +3 -0
  122. data/lib/mindee/parsing/standard/abstract_field.rb +72 -0
  123. data/lib/mindee/parsing/standard/amount_field.rb +2 -2
  124. data/lib/mindee/parsing/standard/base_field.rb +5 -84
  125. data/lib/mindee/parsing/standard/boolean_field.rb +4 -3
  126. data/lib/mindee/parsing/standard/classification_field.rb +1 -1
  127. data/lib/mindee/parsing/standard/company_registration_field.rb +7 -2
  128. data/lib/mindee/parsing/standard/date_field.rb +2 -2
  129. data/lib/mindee/parsing/standard/feature_field.rb +24 -0
  130. data/lib/mindee/parsing/standard/payment_details_field.rb +2 -2
  131. data/lib/mindee/parsing/standard/position_field.rb +3 -1
  132. data/lib/mindee/parsing/standard/string_field.rb +1 -1
  133. data/lib/mindee/parsing/standard/tax_field.rb +1 -1
  134. data/lib/mindee/parsing/standard.rb +1 -0
  135. data/lib/mindee/parsing/{generated/generated_list_field.rb → universal/universal_list_field.rb} +12 -12
  136. data/lib/mindee/parsing/{generated/generated_object_field.rb → universal/universal_object_field.rb} +23 -14
  137. data/lib/mindee/parsing/universal.rb +4 -0
  138. data/lib/mindee/parsing.rb +1 -2
  139. data/lib/mindee/{extraction/pdf_extractor → pdf}/extracted_pdf.rb +15 -12
  140. data/lib/mindee/pdf/pdf_compressor.rb +12 -10
  141. data/lib/mindee/{extraction/pdf_extractor → pdf}/pdf_extractor.rb +20 -17
  142. data/lib/mindee/pdf/pdf_processor.rb +12 -22
  143. data/lib/mindee/pdf/pdf_tools.rb +52 -6
  144. data/lib/mindee/pdf.rb +2 -0
  145. data/lib/mindee/product/.rubocop.yml +3 -0
  146. data/lib/mindee/product/barcode_reader/barcode_reader_v1.rb +9 -3
  147. data/lib/mindee/product/barcode_reader/barcode_reader_v1_document.rb +5 -5
  148. data/lib/mindee/product/barcode_reader/barcode_reader_v1_page.rb +9 -5
  149. data/lib/mindee/product/bill_of_lading/bill_of_lading_v1.rb +9 -3
  150. data/lib/mindee/product/bill_of_lading/bill_of_lading_v1_carrier.rb +1 -1
  151. data/lib/mindee/product/bill_of_lading/bill_of_lading_v1_carrier_item.rb +13 -7
  152. data/lib/mindee/product/bill_of_lading/bill_of_lading_v1_carrier_items.rb +62 -0
  153. data/lib/mindee/product/bill_of_lading/bill_of_lading_v1_consignee.rb +1 -1
  154. data/lib/mindee/product/bill_of_lading/bill_of_lading_v1_document.rb +44 -17
  155. data/lib/mindee/product/bill_of_lading/bill_of_lading_v1_notify_party.rb +1 -1
  156. data/lib/mindee/product/bill_of_lading/bill_of_lading_v1_page.rb +9 -5
  157. data/lib/mindee/product/bill_of_lading/bill_of_lading_v1_shipper.rb +1 -1
  158. data/lib/mindee/product/business_card/business_card_v1.rb +9 -3
  159. data/lib/mindee/product/business_card/business_card_v1_document.rb +40 -13
  160. data/lib/mindee/product/business_card/business_card_v1_page.rb +9 -5
  161. data/lib/mindee/product/cropper/cropper_v1.rb +10 -4
  162. data/lib/mindee/product/cropper/cropper_v1_page.rb +11 -7
  163. data/lib/mindee/product/delivery_note/delivery_note_v1.rb +9 -3
  164. data/lib/mindee/product/delivery_note/delivery_note_v1_document.rb +29 -8
  165. data/lib/mindee/product/delivery_note/delivery_note_v1_page.rb +9 -5
  166. data/lib/mindee/product/driver_license/driver_license_v1.rb +9 -3
  167. data/lib/mindee/product/driver_license/driver_license_v1_document.rb +44 -14
  168. data/lib/mindee/product/driver_license/driver_license_v1_page.rb +9 -5
  169. data/lib/mindee/product/eu/license_plate/license_plate_v1.rb +9 -3
  170. data/lib/mindee/product/eu/license_plate/license_plate_v1_document.rb +3 -3
  171. data/lib/mindee/product/eu/license_plate/license_plate_v1_page.rb +9 -5
  172. data/lib/mindee/product/financial_document/financial_document_v1.rb +9 -3
  173. data/lib/mindee/product/financial_document/financial_document_v1_document.rb +110 -42
  174. data/lib/mindee/product/financial_document/financial_document_v1_line_item.rb +21 -11
  175. data/lib/mindee/product/financial_document/financial_document_v1_line_items.rb +62 -0
  176. data/lib/mindee/product/financial_document/financial_document_v1_page.rb +9 -5
  177. data/lib/mindee/product/fr/bank_account_details/bank_account_details_v1.rb +9 -3
  178. data/lib/mindee/product/fr/bank_account_details/bank_account_details_v1_document.rb +7 -4
  179. data/lib/mindee/product/fr/bank_account_details/bank_account_details_v1_page.rb +9 -5
  180. data/lib/mindee/product/fr/bank_account_details/bank_account_details_v2.rb +9 -3
  181. data/lib/mindee/product/fr/bank_account_details/bank_account_details_v2_bban.rb +1 -1
  182. data/lib/mindee/product/fr/bank_account_details/bank_account_details_v2_document.rb +11 -5
  183. data/lib/mindee/product/fr/bank_account_details/bank_account_details_v2_page.rb +9 -5
  184. data/lib/mindee/product/fr/bank_statement/bank_statement_v2.rb +9 -3
  185. data/lib/mindee/product/fr/bank_statement/bank_statement_v2_document.rb +52 -20
  186. data/lib/mindee/product/fr/bank_statement/bank_statement_v2_page.rb +9 -5
  187. data/lib/mindee/product/fr/bank_statement/bank_statement_v2_transaction.rb +5 -3
  188. data/lib/mindee/product/fr/bank_statement/bank_statement_v2_transactions.rb +54 -0
  189. data/lib/mindee/product/fr/carte_grise/carte_grise_v1.rb +9 -3
  190. data/lib/mindee/product/fr/carte_grise/carte_grise_v1_document.rb +51 -42
  191. data/lib/mindee/product/fr/carte_grise/carte_grise_v1_page.rb +9 -5
  192. data/lib/mindee/product/fr/energy_bill/energy_bill_v1.rb +9 -3
  193. data/lib/mindee/product/fr/energy_bill/energy_bill_v1_document.rb +56 -30
  194. data/lib/mindee/product/fr/energy_bill/energy_bill_v1_energy_consumer.rb +1 -1
  195. data/lib/mindee/product/fr/energy_bill/energy_bill_v1_energy_supplier.rb +1 -1
  196. data/lib/mindee/product/fr/energy_bill/energy_bill_v1_energy_usage.rb +13 -7
  197. data/lib/mindee/product/fr/energy_bill/energy_bill_v1_energy_usages.rb +65 -0
  198. data/lib/mindee/product/fr/energy_bill/energy_bill_v1_meter_detail.rb +1 -1
  199. data/lib/mindee/product/fr/energy_bill/energy_bill_v1_page.rb +9 -5
  200. data/lib/mindee/product/fr/energy_bill/energy_bill_v1_subscription.rb +13 -7
  201. data/lib/mindee/product/fr/energy_bill/energy_bill_v1_subscriptions.rb +65 -0
  202. data/lib/mindee/product/fr/energy_bill/energy_bill_v1_taxes_and_contribution.rb +13 -7
  203. data/lib/mindee/product/fr/energy_bill/energy_bill_v1_taxes_and_contributions.rb +65 -0
  204. data/lib/mindee/product/fr/health_card/health_card_v1.rb +9 -3
  205. data/lib/mindee/product/fr/health_card/health_card_v1_document.rb +15 -6
  206. data/lib/mindee/product/fr/health_card/health_card_v1_page.rb +9 -5
  207. data/lib/mindee/product/fr/id_card/id_card_v1.rb +9 -3
  208. data/lib/mindee/product/fr/id_card/id_card_v1_document.rb +33 -12
  209. data/lib/mindee/product/fr/id_card/id_card_v1_page.rb +14 -7
  210. data/lib/mindee/product/fr/id_card/id_card_v2.rb +9 -3
  211. data/lib/mindee/product/fr/id_card/id_card_v2_document.rb +50 -17
  212. data/lib/mindee/product/fr/id_card/id_card_v2_page.rb +18 -8
  213. data/lib/mindee/product/fr/payslip/payslip_v2.rb +9 -3
  214. data/lib/mindee/product/fr/payslip/payslip_v2_bank_account_detail.rb +1 -1
  215. data/lib/mindee/product/fr/payslip/payslip_v2_document.rb +29 -14
  216. data/lib/mindee/product/fr/payslip/payslip_v2_employee.rb +1 -1
  217. data/lib/mindee/product/fr/payslip/payslip_v2_employer.rb +1 -1
  218. data/lib/mindee/product/fr/payslip/payslip_v2_employment.rb +3 -2
  219. data/lib/mindee/product/fr/payslip/payslip_v2_page.rb +9 -5
  220. data/lib/mindee/product/fr/payslip/payslip_v2_pay_detail.rb +33 -11
  221. data/lib/mindee/product/fr/payslip/payslip_v2_pay_period.rb +1 -1
  222. data/lib/mindee/product/fr/payslip/payslip_v2_pto.rb +13 -4
  223. data/lib/mindee/product/fr/payslip/payslip_v2_salary_detail.rb +13 -7
  224. data/lib/mindee/product/fr/payslip/payslip_v2_salary_details.rb +63 -0
  225. data/lib/mindee/product/fr/payslip/payslip_v3.rb +9 -3
  226. data/lib/mindee/product/fr/payslip/payslip_v3_bank_account_detail.rb +1 -1
  227. data/lib/mindee/product/fr/payslip/payslip_v3_document.rb +31 -19
  228. data/lib/mindee/product/fr/payslip/payslip_v3_employee.rb +1 -1
  229. data/lib/mindee/product/fr/payslip/payslip_v3_employer.rb +1 -1
  230. data/lib/mindee/product/fr/payslip/payslip_v3_employment.rb +1 -1
  231. data/lib/mindee/product/fr/payslip/payslip_v3_page.rb +9 -5
  232. data/lib/mindee/product/fr/payslip/payslip_v3_paid_time_off.rb +13 -7
  233. data/lib/mindee/product/fr/payslip/payslip_v3_paid_time_offs.rb +65 -0
  234. data/lib/mindee/product/fr/payslip/payslip_v3_pay_detail.rb +33 -11
  235. data/lib/mindee/product/fr/payslip/payslip_v3_pay_period.rb +1 -1
  236. data/lib/mindee/product/fr/payslip/payslip_v3_salary_detail.rb +17 -9
  237. data/lib/mindee/product/fr/payslip/payslip_v3_salary_details.rb +65 -0
  238. data/lib/mindee/product/ind/indian_passport/indian_passport_v1.rb +9 -3
  239. data/lib/mindee/product/ind/indian_passport/indian_passport_v1_document.rb +87 -24
  240. data/lib/mindee/product/ind/indian_passport/indian_passport_v1_page.rb +9 -5
  241. data/lib/mindee/product/international_id/international_id_v2.rb +9 -3
  242. data/lib/mindee/product/international_id/international_id_v2_document.rb +62 -20
  243. data/lib/mindee/product/international_id/international_id_v2_page.rb +9 -5
  244. data/lib/mindee/product/invoice/invoice_v4.rb +9 -3
  245. data/lib/mindee/product/invoice/invoice_v4_document.rb +90 -36
  246. data/lib/mindee/product/invoice/invoice_v4_line_item.rb +21 -11
  247. data/lib/mindee/product/invoice/invoice_v4_line_items.rb +62 -0
  248. data/lib/mindee/product/invoice/invoice_v4_page.rb +9 -5
  249. data/lib/mindee/product/invoice_splitter/invoice_splitter_v1.rb +8 -0
  250. data/lib/mindee/product/invoice_splitter/invoice_splitter_v1_document.rb +2 -2
  251. data/lib/mindee/product/invoice_splitter/invoice_splitter_v1_page.rb +1 -1
  252. data/lib/mindee/product/multi_receipts_detector/multi_receipts_detector_v1.rb +9 -3
  253. data/lib/mindee/product/multi_receipts_detector/multi_receipts_detector_v1_document.rb +3 -3
  254. data/lib/mindee/product/multi_receipts_detector/multi_receipts_detector_v1_page.rb +9 -5
  255. data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1.rb +9 -3
  256. data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_added_sugar.rb +7 -4
  257. data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_calorie.rb +7 -4
  258. data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_cholesterol.rb +7 -4
  259. data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_dietary_fiber.rb +7 -4
  260. data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_document.rb +58 -20
  261. data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_nutrient.rb +13 -7
  262. data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_nutrients.rb +68 -0
  263. data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_page.rb +9 -5
  264. data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_protein.rb +7 -4
  265. data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_saturated_fat.rb +7 -4
  266. data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_serving_size.rb +3 -2
  267. data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_sodium.rb +7 -4
  268. data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_total_carbohydrate.rb +7 -4
  269. data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_total_fat.rb +7 -4
  270. data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_total_sugar.rb +7 -4
  271. data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_trans_fat.rb +7 -4
  272. data/lib/mindee/product/passport/passport_v1.rb +9 -3
  273. data/lib/mindee/product/passport/passport_v1_document.rb +37 -13
  274. data/lib/mindee/product/passport/passport_v1_page.rb +9 -5
  275. data/lib/mindee/product/receipt/receipt_v5.rb +9 -3
  276. data/lib/mindee/product/receipt/receipt_v5_document.rb +54 -24
  277. data/lib/mindee/product/receipt/receipt_v5_line_item.rb +13 -7
  278. data/lib/mindee/product/receipt/receipt_v5_line_items.rb +54 -0
  279. data/lib/mindee/product/receipt/receipt_v5_page.rb +9 -5
  280. data/lib/mindee/product/resume/resume_v1.rb +9 -3
  281. data/lib/mindee/product/resume/resume_v1_certificate.rb +1 -1
  282. data/lib/mindee/product/resume/resume_v1_certificates.rb +58 -0
  283. data/lib/mindee/product/resume/resume_v1_document.rb +60 -47
  284. data/lib/mindee/product/resume/resume_v1_education.rb +1 -1
  285. data/lib/mindee/product/resume/resume_v1_educations.rb +64 -0
  286. data/lib/mindee/product/resume/resume_v1_language.rb +1 -1
  287. data/lib/mindee/product/resume/resume_v1_languages.rb +54 -0
  288. data/lib/mindee/product/resume/resume_v1_page.rb +9 -5
  289. data/lib/mindee/product/resume/resume_v1_professional_experience.rb +1 -1
  290. data/lib/mindee/product/resume/resume_v1_professional_experiences.rb +68 -0
  291. data/lib/mindee/product/resume/resume_v1_social_networks_url.rb +1 -1
  292. data/lib/mindee/product/resume/resume_v1_social_networks_urls.rb +54 -0
  293. data/lib/mindee/product/universal/universal.rb +46 -0
  294. data/lib/mindee/product/universal/universal_document.rb +32 -0
  295. data/lib/mindee/product/{generated/generated_v1_page.rb → universal/universal_page.rb} +14 -14
  296. data/lib/mindee/product/{generated/generated_v1_prediction.rb → universal/universal_prediction.rb} +32 -24
  297. data/lib/mindee/product/us/bank_check/bank_check_v1.rb +9 -3
  298. data/lib/mindee/product/us/bank_check/bank_check_v1_document.rb +20 -8
  299. data/lib/mindee/product/us/bank_check/bank_check_v1_page.rb +15 -8
  300. data/lib/mindee/product/us/healthcare_card/healthcare_card_v1.rb +9 -3
  301. data/lib/mindee/product/us/healthcare_card/healthcare_card_v1_copay.rb +5 -3
  302. data/lib/mindee/product/us/healthcare_card/healthcare_card_v1_copays.rb +52 -0
  303. data/lib/mindee/product/us/healthcare_card/healthcare_card_v1_document.rb +46 -19
  304. data/lib/mindee/product/us/healthcare_card/healthcare_card_v1_page.rb +9 -5
  305. data/lib/mindee/product/us/us_mail/us_mail_v3.rb +9 -3
  306. data/lib/mindee/product/us/us_mail/us_mail_v3_document.rb +20 -12
  307. data/lib/mindee/product/us/us_mail/us_mail_v3_page.rb +9 -5
  308. data/lib/mindee/product/us/us_mail/us_mail_v3_recipient_address.rb +2 -2
  309. data/lib/mindee/product/us/us_mail/us_mail_v3_recipient_addresses.rb +65 -0
  310. data/lib/mindee/product/us/us_mail/us_mail_v3_sender_address.rb +1 -1
  311. data/lib/mindee/product/us/w9/w9_v1.rb +10 -4
  312. data/lib/mindee/product/us/w9/w9_v1_page.rb +49 -18
  313. data/lib/mindee/product.rb +1 -8
  314. data/lib/mindee/version.rb +2 -2
  315. data/lib/mindee.rb +22 -9
  316. data/mindee.gemspec +19 -17
  317. data/sig/custom/marcel.rbs +3 -0
  318. data/sig/custom/mini_magick.rbs +24 -0
  319. data/sig/custom/net_http.rbs +34 -0
  320. data/sig/custom/origami.rbs +54 -0
  321. data/sig/mindee/client.rbs +63 -0
  322. data/sig/mindee/errors/mindee_error.rbs +13 -0
  323. data/sig/mindee/errors/mindee_http_error.rbs +16 -0
  324. data/sig/mindee/errors/mindee_input_error.rbs +17 -0
  325. data/sig/mindee/extraction/multi_receipts_extractor.rbs +6 -0
  326. data/sig/mindee/geometry/min_max.rbs +10 -0
  327. data/sig/mindee/geometry/point.rbs +13 -0
  328. data/sig/mindee/geometry/polygon.rbs +9 -0
  329. data/sig/mindee/geometry/quadrilateral.rbs +18 -0
  330. data/sig/mindee/geometry/utils.rbs +13 -0
  331. data/sig/mindee/http/endpoint.rbs +26 -0
  332. data/sig/mindee/http/http_error_handler.rbs +10 -0
  333. data/sig/mindee/http/response_validation.rbs +10 -0
  334. data/sig/mindee/http/workflow_endpoint.rbs +14 -0
  335. data/sig/mindee/image/extracted_image.rbs +15 -0
  336. data/sig/mindee/image/image_compressor.rbs +8 -0
  337. data/sig/mindee/image/image_extractor.rbs +13 -0
  338. data/sig/mindee/image/image_utils.rbs +19 -0
  339. data/sig/mindee/input/local_response.rbs +13 -0
  340. data/sig/mindee/input/sources/base64_input_source.rbs +11 -0
  341. data/sig/mindee/input/sources/bytes_input_source.rbs +10 -0
  342. data/sig/mindee/input/sources/file_input_source.rbs +10 -0
  343. data/sig/mindee/input/sources/local_input_source.rbs +24 -0
  344. data/sig/mindee/input/sources/path_input_source.rbs +10 -0
  345. data/sig/mindee/input/sources/url_input_source.rbs +20 -0
  346. data/sig/mindee/logging/logger.rbs +9 -0
  347. data/sig/mindee/parsing/common/api_request.rbs +15 -0
  348. data/sig/mindee/parsing/common/api_response.rbs +27 -0
  349. data/sig/mindee/parsing/common/document.rbs +20 -0
  350. data/sig/mindee/parsing/common/execution.rbs +23 -0
  351. data/sig/mindee/parsing/common/execution_file.rbs +12 -0
  352. data/sig/mindee/parsing/common/execution_priority.rbs +13 -0
  353. data/sig/mindee/parsing/common/extras/cropper_extra.rbs +14 -0
  354. data/sig/mindee/parsing/common/extras/extras.rbs +18 -0
  355. data/sig/mindee/parsing/common/extras/full_text_ocr_extra.rbs +15 -0
  356. data/sig/mindee/parsing/common/inference.rbs +19 -0
  357. data/sig/mindee/parsing/common/job.rbs +16 -0
  358. data/sig/mindee/parsing/common/ocr/mvision_v1.rbs +15 -0
  359. data/sig/mindee/parsing/common/ocr/ocr.rbs +39 -0
  360. data/sig/mindee/parsing/common/orientation.rbs +12 -0
  361. data/sig/mindee/parsing/common/page.rbs +15 -0
  362. data/sig/mindee/parsing/common/prediction.rbs +11 -0
  363. data/sig/mindee/parsing/common/product.rbs +13 -0
  364. data/sig/mindee/parsing/common/workflow_response.rbs +13 -0
  365. data/sig/mindee/parsing/standard/abstract_field.rbs +19 -0
  366. data/sig/mindee/parsing/standard/amount_field.rbs +12 -0
  367. data/sig/mindee/parsing/standard/base_field.rbs +12 -0
  368. data/sig/mindee/parsing/standard/boolean_field.rbs +12 -0
  369. data/sig/mindee/parsing/standard/classification_field.rbs +10 -0
  370. data/sig/mindee/parsing/standard/company_registration_field.rbs +14 -0
  371. data/sig/mindee/parsing/standard/date_field.rbs +14 -0
  372. data/sig/mindee/parsing/standard/feature_field.rbs +10 -0
  373. data/sig/mindee/parsing/standard/locale_field.rbs +16 -0
  374. data/sig/mindee/parsing/standard/payment_details_field.rbs +15 -0
  375. data/sig/mindee/parsing/standard/position_field.rbs +17 -0
  376. data/sig/mindee/parsing/standard/string_field.rbs +12 -0
  377. data/sig/mindee/parsing/standard/tax_field.rbs +23 -0
  378. data/sig/mindee/parsing/universal/universal_list_field.rbs +17 -0
  379. data/sig/mindee/parsing/universal/universal_object_field.rbs +23 -0
  380. data/sig/mindee/pdf/extracted_pdf.rbs +15 -0
  381. data/sig/mindee/pdf/pdf_compressor.rbs +15 -0
  382. data/sig/mindee/pdf/pdf_extractor.rbs +16 -0
  383. data/sig/mindee/pdf/pdf_processor.rbs +12 -0
  384. data/sig/mindee/pdf/pdf_tools.rbs +23 -0
  385. data/sig/mindee/product/barcode_reader/barcode_reader_v1.rbs +11 -0
  386. data/sig/mindee/product/barcode_reader/barcode_reader_v1_document.rbs +14 -0
  387. data/sig/mindee/product/barcode_reader/barcode_reader_v1_page.rbs +15 -0
  388. data/sig/mindee/product/bill_of_lading/bill_of_lading_v1.rbs +11 -0
  389. data/sig/mindee/product/bill_of_lading/bill_of_lading_v1_carrier.rbs +14 -0
  390. data/sig/mindee/product/bill_of_lading/bill_of_lading_v1_carrier_item.rbs +19 -0
  391. data/sig/mindee/product/bill_of_lading/bill_of_lading_v1_carrier_items.rbs +13 -0
  392. data/sig/mindee/product/bill_of_lading/bill_of_lading_v1_consignee.rbs +15 -0
  393. data/sig/mindee/product/bill_of_lading/bill_of_lading_v1_document.rbs +25 -0
  394. data/sig/mindee/product/bill_of_lading/bill_of_lading_v1_notify_party.rbs +15 -0
  395. data/sig/mindee/product/bill_of_lading/bill_of_lading_v1_page.rbs +15 -0
  396. data/sig/mindee/product/bill_of_lading/bill_of_lading_v1_shipper.rbs +15 -0
  397. data/sig/mindee/product/business_card/business_card_v1.rbs +11 -0
  398. data/sig/mindee/product/business_card/business_card_v1_document.rbs +23 -0
  399. data/sig/mindee/product/business_card/business_card_v1_page.rbs +15 -0
  400. data/sig/mindee/product/cropper/cropper_v1.rbs +11 -0
  401. data/sig/mindee/product/cropper/cropper_v1_document.rbs +12 -0
  402. data/sig/mindee/product/cropper/cropper_v1_page.rbs +16 -0
  403. data/sig/mindee/product/delivery_note/delivery_note_v1.rbs +11 -0
  404. data/sig/mindee/product/delivery_note/delivery_note_v1_document.rbs +19 -0
  405. data/sig/mindee/product/delivery_note/delivery_note_v1_page.rbs +15 -0
  406. data/sig/mindee/product/driver_license/driver_license_v1.rbs +11 -0
  407. data/sig/mindee/product/driver_license/driver_license_v1_document.rbs +25 -0
  408. data/sig/mindee/product/driver_license/driver_license_v1_page.rbs +15 -0
  409. data/sig/mindee/product/eu/license_plate/license_plate_v1.rbs +13 -0
  410. data/sig/mindee/product/eu/license_plate/license_plate_v1_document.rbs +15 -0
  411. data/sig/mindee/product/eu/license_plate/license_plate_v1_page.rbs +17 -0
  412. data/sig/mindee/product/financial_document/financial_document_v1.rbs +11 -0
  413. data/sig/mindee/product/financial_document/financial_document_v1_document.rbs +46 -0
  414. data/sig/mindee/product/financial_document/financial_document_v1_line_item.rbs +21 -0
  415. data/sig/mindee/product/financial_document/financial_document_v1_line_items.rbs +13 -0
  416. data/sig/mindee/product/financial_document/financial_document_v1_page.rbs +15 -0
  417. data/sig/mindee/product/fr/bank_account_details/bank_account_details_v1.rbs +13 -0
  418. data/sig/mindee/product/fr/bank_account_details/bank_account_details_v1_document.rbs +17 -0
  419. data/sig/mindee/product/fr/bank_account_details/bank_account_details_v1_page.rbs +17 -0
  420. data/sig/mindee/product/fr/bank_account_details/bank_account_details_v2.rbs +13 -0
  421. data/sig/mindee/product/fr/bank_account_details/bank_account_details_v2_bban.rbs +17 -0
  422. data/sig/mindee/product/fr/bank_account_details/bank_account_details_v2_document.rbs +18 -0
  423. data/sig/mindee/product/fr/bank_account_details/bank_account_details_v2_page.rbs +17 -0
  424. data/sig/mindee/product/fr/bank_statement/bank_statement_v2.rbs +13 -0
  425. data/sig/mindee/product/fr/bank_statement/bank_statement_v2_document.rbs +29 -0
  426. data/sig/mindee/product/fr/bank_statement/bank_statement_v2_page.rbs +17 -0
  427. data/sig/mindee/product/fr/bank_statement/bank_statement_v2_transaction.rbs +18 -0
  428. data/sig/mindee/product/fr/bank_statement/bank_statement_v2_transactions.rbs +15 -0
  429. data/sig/mindee/product/fr/carte_grise/carte_grise_v1.rbs +13 -0
  430. data/sig/mindee/product/fr/carte_grise/carte_grise_v1_document.rbs +55 -0
  431. data/sig/mindee/product/fr/carte_grise/carte_grise_v1_page.rbs +17 -0
  432. data/sig/mindee/product/fr/energy_bill/energy_bill_v1.rbs +13 -0
  433. data/sig/mindee/product/fr/energy_bill/energy_bill_v1_document.rbs +34 -0
  434. data/sig/mindee/product/fr/energy_bill/energy_bill_v1_energy_consumer.rbs +15 -0
  435. data/sig/mindee/product/fr/energy_bill/energy_bill_v1_energy_supplier.rbs +15 -0
  436. data/sig/mindee/product/fr/energy_bill/energy_bill_v1_energy_usage.rbs +21 -0
  437. data/sig/mindee/product/fr/energy_bill/energy_bill_v1_energy_usages.rbs +15 -0
  438. data/sig/mindee/product/fr/energy_bill/energy_bill_v1_meter_detail.rbs +16 -0
  439. data/sig/mindee/product/fr/energy_bill/energy_bill_v1_page.rbs +17 -0
  440. data/sig/mindee/product/fr/energy_bill/energy_bill_v1_subscription.rbs +21 -0
  441. data/sig/mindee/product/fr/energy_bill/energy_bill_v1_subscriptions.rbs +15 -0
  442. data/sig/mindee/product/fr/energy_bill/energy_bill_v1_taxes_and_contribution.rbs +21 -0
  443. data/sig/mindee/product/fr/energy_bill/energy_bill_v1_taxes_and_contributions.rbs +15 -0
  444. data/sig/mindee/product/fr/health_card/health_card_v1.rbs +13 -0
  445. data/sig/mindee/product/fr/health_card/health_card_v1_document.rbs +18 -0
  446. data/sig/mindee/product/fr/health_card/health_card_v1_page.rbs +17 -0
  447. data/sig/mindee/product/fr/id_card/id_card_v1.rbs +13 -0
  448. data/sig/mindee/product/fr/id_card/id_card_v1_document.rbs +24 -0
  449. data/sig/mindee/product/fr/id_card/id_card_v1_page.rbs +18 -0
  450. data/sig/mindee/product/fr/id_card/id_card_v2.rbs +13 -0
  451. data/sig/mindee/product/fr/id_card/id_card_v2_document.rbs +29 -0
  452. data/sig/mindee/product/fr/id_card/id_card_v2_page.rbs +19 -0
  453. data/sig/mindee/product/fr/payslip/payslip_v2.rbs +13 -0
  454. data/sig/mindee/product/fr/payslip/payslip_v2_bank_account_detail.rbs +16 -0
  455. data/sig/mindee/product/fr/payslip/payslip_v2_document.rbs +24 -0
  456. data/sig/mindee/product/fr/payslip/payslip_v2_employee.rbs +20 -0
  457. data/sig/mindee/product/fr/payslip/payslip_v2_employer.rbs +20 -0
  458. data/sig/mindee/product/fr/payslip/payslip_v2_employment.rbs +19 -0
  459. data/sig/mindee/product/fr/payslip/payslip_v2_page.rbs +17 -0
  460. data/sig/mindee/product/fr/payslip/payslip_v2_pay_detail.rbs +23 -0
  461. data/sig/mindee/product/fr/payslip/payslip_v2_pay_period.rbs +18 -0
  462. data/sig/mindee/product/fr/payslip/payslip_v2_pto.rbs +16 -0
  463. data/sig/mindee/product/fr/payslip/payslip_v2_salary_detail.rbs +19 -0
  464. data/sig/mindee/product/fr/payslip/payslip_v2_salary_details.rbs +15 -0
  465. data/sig/mindee/product/fr/payslip/payslip_v3.rbs +13 -0
  466. data/sig/mindee/product/fr/payslip/payslip_v3_bank_account_detail.rbs +16 -0
  467. data/sig/mindee/product/fr/payslip/payslip_v3_document.rbs +26 -0
  468. data/sig/mindee/product/fr/payslip/payslip_v3_employee.rbs +20 -0
  469. data/sig/mindee/product/fr/payslip/payslip_v3_employer.rbs +20 -0
  470. data/sig/mindee/product/fr/payslip/payslip_v3_employment.rbs +20 -0
  471. data/sig/mindee/product/fr/payslip/payslip_v3_page.rbs +17 -0
  472. data/sig/mindee/product/fr/payslip/payslip_v3_paid_time_off.rbs +20 -0
  473. data/sig/mindee/product/fr/payslip/payslip_v3_paid_time_offs.rbs +15 -0
  474. data/sig/mindee/product/fr/payslip/payslip_v3_pay_detail.rbs +23 -0
  475. data/sig/mindee/product/fr/payslip/payslip_v3_pay_period.rbs +18 -0
  476. data/sig/mindee/product/fr/payslip/payslip_v3_salary_detail.rbs +20 -0
  477. data/sig/mindee/product/fr/payslip/payslip_v3_salary_details.rbs +15 -0
  478. data/sig/mindee/product/ind/indian_passport/indian_passport_v1.rbs +13 -0
  479. data/sig/mindee/product/ind/indian_passport/indian_passport_v1_document.rbs +37 -0
  480. data/sig/mindee/product/ind/indian_passport/indian_passport_v1_page.rbs +17 -0
  481. data/sig/mindee/product/international_id/international_id_v2.rbs +11 -0
  482. data/sig/mindee/product/international_id/international_id_v2_document.rbs +29 -0
  483. data/sig/mindee/product/international_id/international_id_v2_page.rbs +15 -0
  484. data/sig/mindee/product/invoice/invoice_v4.rbs +11 -0
  485. data/sig/mindee/product/invoice/invoice_v4_document.rbs +40 -0
  486. data/sig/mindee/product/invoice/invoice_v4_line_item.rbs +21 -0
  487. data/sig/mindee/product/invoice/invoice_v4_line_items.rbs +13 -0
  488. data/sig/mindee/product/invoice/invoice_v4_page.rbs +15 -0
  489. data/sig/mindee/product/invoice_splitter/invoice_splitter_v1.rbs +14 -0
  490. data/sig/mindee/product/invoice_splitter/invoice_splitter_v1_document.rbs +19 -0
  491. data/sig/mindee/product/invoice_splitter/invoice_splitter_v1_page.rbs +13 -0
  492. data/sig/mindee/product/multi_receipts_detector/multi_receipts_detector_v1.rbs +11 -0
  493. data/sig/mindee/product/multi_receipts_detector/multi_receipts_detector_v1_document.rbs +13 -0
  494. data/sig/mindee/product/multi_receipts_detector/multi_receipts_detector_v1_page.rbs +15 -0
  495. data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1.rbs +11 -0
  496. data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_added_sugar.rbs +14 -0
  497. data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_calorie.rbs +14 -0
  498. data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_cholesterol.rbs +14 -0
  499. data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_dietary_fiber.rbs +14 -0
  500. data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_document.rbs +28 -0
  501. data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_nutrient.rbs +18 -0
  502. data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_nutrients.rbs +13 -0
  503. data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_page.rbs +15 -0
  504. data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_protein.rbs +14 -0
  505. data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_saturated_fat.rbs +14 -0
  506. data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_serving_size.rbs +13 -0
  507. data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_sodium.rbs +15 -0
  508. data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_total_carbohydrate.rbs +14 -0
  509. data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_total_fat.rbs +14 -0
  510. data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_total_sugar.rbs +14 -0
  511. data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_trans_fat.rbs +14 -0
  512. data/sig/mindee/product/passport/passport_v1.rbs +11 -0
  513. data/sig/mindee/product/passport/passport_v1_document.rbs +23 -0
  514. data/sig/mindee/product/passport/passport_v1_page.rbs +15 -0
  515. data/sig/mindee/product/receipt/receipt_v5.rbs +11 -0
  516. data/sig/mindee/product/receipt/receipt_v5_document.rbs +31 -0
  517. data/sig/mindee/product/receipt/receipt_v5_line_item.rbs +17 -0
  518. data/sig/mindee/product/receipt/receipt_v5_line_items.rbs +13 -0
  519. data/sig/mindee/product/receipt/receipt_v5_page.rbs +15 -0
  520. data/sig/mindee/product/resume/resume_v1.rbs +11 -0
  521. data/sig/mindee/product/resume/resume_v1_certificate.rbs +17 -0
  522. data/sig/mindee/product/resume/resume_v1_certificates.rbs +13 -0
  523. data/sig/mindee/product/resume/resume_v1_document.rbs +39 -0
  524. data/sig/mindee/product/resume/resume_v1_education.rbs +20 -0
  525. data/sig/mindee/product/resume/resume_v1_educations.rbs +13 -0
  526. data/sig/mindee/product/resume/resume_v1_language.rbs +15 -0
  527. data/sig/mindee/product/resume/resume_v1_languages.rbs +13 -0
  528. data/sig/mindee/product/resume/resume_v1_page.rbs +15 -0
  529. data/sig/mindee/product/resume/resume_v1_professional_experience.rbs +22 -0
  530. data/sig/mindee/product/resume/resume_v1_professional_experiences.rbs +13 -0
  531. data/sig/mindee/product/resume/resume_v1_social_networks_url.rbs +15 -0
  532. data/sig/mindee/product/resume/resume_v1_social_networks_urls.rbs +13 -0
  533. data/sig/mindee/product/universal/universal.rbs +14 -0
  534. data/sig/mindee/product/universal/universal_document.rbs +10 -0
  535. data/sig/mindee/product/universal/universal_page.rbs +14 -0
  536. data/sig/mindee/product/universal/universal_prediction.rbs +19 -0
  537. data/sig/mindee/product/us/bank_check/bank_check_v1.rbs +13 -0
  538. data/sig/mindee/product/us/bank_check/bank_check_v1_document.rbs +20 -0
  539. data/sig/mindee/product/us/bank_check/bank_check_v1_page.rbs +19 -0
  540. data/sig/mindee/product/us/healthcare_card/healthcare_card_v1.rbs +13 -0
  541. data/sig/mindee/product/us/healthcare_card/healthcare_card_v1_copay.rbs +17 -0
  542. data/sig/mindee/product/us/healthcare_card/healthcare_card_v1_copays.rbs +15 -0
  543. data/sig/mindee/product/us/healthcare_card/healthcare_card_v1_document.rbs +28 -0
  544. data/sig/mindee/product/us/healthcare_card/healthcare_card_v1_page.rbs +17 -0
  545. data/sig/mindee/product/us/us_mail/us_mail_v3.rbs +13 -0
  546. data/sig/mindee/product/us/us_mail/us_mail_v3_document.rbs +21 -0
  547. data/sig/mindee/product/us/us_mail/us_mail_v3_page.rbs +17 -0
  548. data/sig/mindee/product/us/us_mail/us_mail_v3_recipient_address.rbs +23 -0
  549. data/sig/mindee/product/us/us_mail/us_mail_v3_recipient_addresses.rbs +15 -0
  550. data/sig/mindee/product/us/us_mail/us_mail_v3_sender_address.rbs +18 -0
  551. data/sig/mindee/product/us/w9/w9_v1.rbs +13 -0
  552. data/sig/mindee/product/us/w9/w9_v1_document.rbs +14 -0
  553. data/sig/mindee/product/us/w9/w9_v1_page.rbs +29 -0
  554. data/sig/mindee/version.rbs +6 -0
  555. data/sig/mindee.rbs +59 -0
  556. metadata +390 -104
  557. data/docs/bank_statement_fr_v1.md +0 -178
  558. data/docs/code_samples/bank_statement_fr_v1_async.txt +0 -19
  559. data/docs/code_samples/custom_v1.txt +0 -33
  560. data/docs/code_samples/eu_driver_license_v1.txt +0 -19
  561. data/docs/code_samples/expense_receipts_v4.txt +0 -19
  562. data/docs/code_samples/proof_of_address_v1.txt +0 -19
  563. data/docs/code_samples/us_driver_license_v1.txt +0 -19
  564. data/docs/code_samples/us_mail_v2_async.txt +0 -19
  565. data/docs/code_samples/workflow_execution.txt +0 -29
  566. data/docs/custom_v1.md +0 -111
  567. data/docs/payslip_fra_v2.md +0 -294
  568. data/lib/mindee/extraction/common.rb +0 -4
  569. data/lib/mindee/extraction/multi_receipts_extractor/multi_receipts_extractor.rb +0 -32
  570. data/lib/mindee/extraction/pdf_extractor.rb +0 -4
  571. data/lib/mindee/extraction/tax_extractor/ocr_extractor.rb +0 -110
  572. data/lib/mindee/extraction/tax_extractor/tax_extractor.rb +0 -338
  573. data/lib/mindee/extraction/tax_extractor.rb +0 -3
  574. data/lib/mindee/parsing/custom/classification_field.rb +0 -28
  575. data/lib/mindee/parsing/custom/list_field.rb +0 -78
  576. data/lib/mindee/parsing/custom.rb +0 -4
  577. data/lib/mindee/parsing/generated.rb +0 -4
  578. data/lib/mindee/product/custom/custom_v1.rb +0 -36
  579. data/lib/mindee/product/custom/custom_v1_document.rb +0 -60
  580. data/lib/mindee/product/custom/custom_v1_page.rb +0 -32
  581. data/lib/mindee/product/eu/driver_license/driver_license_v1.rb +0 -41
  582. data/lib/mindee/product/eu/driver_license/driver_license_v1_document.rb +0 -88
  583. data/lib/mindee/product/eu/driver_license/driver_license_v1_page.rb +0 -53
  584. data/lib/mindee/product/fr/bank_statement/bank_statement_v1.rb +0 -41
  585. data/lib/mindee/product/fr/bank_statement/bank_statement_v1_document.rb +0 -130
  586. data/lib/mindee/product/fr/bank_statement/bank_statement_v1_page.rb +0 -34
  587. data/lib/mindee/product/fr/bank_statement/bank_statement_v1_transaction.rb +0 -64
  588. data/lib/mindee/product/generated/generated_v1.rb +0 -38
  589. data/lib/mindee/product/generated/generated_v1_document.rb +0 -35
  590. data/lib/mindee/product/proof_of_address/proof_of_address_v1.rb +0 -39
  591. data/lib/mindee/product/proof_of_address/proof_of_address_v1_document.rb +0 -83
  592. data/lib/mindee/product/proof_of_address/proof_of_address_v1_page.rb +0 -32
  593. data/lib/mindee/product/receipt/receipt_v4.rb +0 -36
  594. data/lib/mindee/product/receipt/receipt_v4_document.rb +0 -86
  595. data/lib/mindee/product/receipt/receipt_v4_page.rb +0 -32
  596. data/lib/mindee/product/us/driver_license/driver_license_v1.rb +0 -41
  597. data/lib/mindee/product/us/driver_license/driver_license_v1_document.rb +0 -113
  598. data/lib/mindee/product/us/driver_license/driver_license_v1_page.rb +0 -53
  599. data/lib/mindee/product/us/us_mail/us_mail_v2.rb +0 -41
  600. data/lib/mindee/product/us/us_mail/us_mail_v2_document.rb +0 -100
  601. data/lib/mindee/product/us/us_mail/us_mail_v2_page.rb +0 -34
  602. data/lib/mindee/product/us/us_mail/us_mail_v2_recipient_address.rb +0 -105
  603. data/lib/mindee/product/us/us_mail/us_mail_v2_sender_address.rb +0 -66
@@ -1,88 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative '../../../parsing'
4
-
5
- module Mindee
6
- module Product
7
- module EU
8
- module DriverLicense
9
- # Driver License API version 1.0 document data.
10
- class DriverLicenseV1Document < Mindee::Parsing::Common::Prediction
11
- include Mindee::Parsing::Standard
12
- # EU driver license holders address
13
- # @return [Mindee::Parsing::Standard::StringField]
14
- attr_reader :address
15
- # EU driver license holders categories
16
- # @return [Mindee::Parsing::Standard::StringField]
17
- attr_reader :category
18
- # Country code extracted as a string.
19
- # @return [Mindee::Parsing::Standard::StringField]
20
- attr_reader :country_code
21
- # The date of birth of the document holder
22
- # @return [Mindee::Parsing::Standard::DateField]
23
- attr_reader :date_of_birth
24
- # ID number of the Document.
25
- # @return [Mindee::Parsing::Standard::StringField]
26
- attr_reader :document_id
27
- # Date the document expires
28
- # @return [Mindee::Parsing::Standard::DateField]
29
- attr_reader :expiry_date
30
- # First name(s) of the driver license holder
31
- # @return [Mindee::Parsing::Standard::StringField]
32
- attr_reader :first_name
33
- # Authority that issued the document
34
- # @return [Mindee::Parsing::Standard::StringField]
35
- attr_reader :issue_authority
36
- # Date the document was issued
37
- # @return [Mindee::Parsing::Standard::DateField]
38
- attr_reader :issue_date
39
- # Last name of the driver license holder.
40
- # @return [Mindee::Parsing::Standard::StringField]
41
- attr_reader :last_name
42
- # Machine-readable license number
43
- # @return [Mindee::Parsing::Standard::StringField]
44
- attr_reader :mrz
45
- # Place where the driver license holder was born
46
- # @return [Mindee::Parsing::Standard::StringField]
47
- attr_reader :place_of_birth
48
-
49
- # @param prediction [Hash]
50
- # @param page_id [Integer, nil]
51
- def initialize(prediction, page_id)
52
- super()
53
- @address = StringField.new(prediction['address'], page_id)
54
- @category = StringField.new(prediction['category'], page_id)
55
- @country_code = StringField.new(prediction['country_code'], page_id)
56
- @date_of_birth = DateField.new(prediction['date_of_birth'], page_id)
57
- @document_id = StringField.new(prediction['document_id'], page_id)
58
- @expiry_date = DateField.new(prediction['expiry_date'], page_id)
59
- @first_name = StringField.new(prediction['first_name'], page_id)
60
- @issue_authority = StringField.new(prediction['issue_authority'], page_id)
61
- @issue_date = DateField.new(prediction['issue_date'], page_id)
62
- @last_name = StringField.new(prediction['last_name'], page_id)
63
- @mrz = StringField.new(prediction['mrz'], page_id)
64
- @place_of_birth = StringField.new(prediction['place_of_birth'], page_id)
65
- end
66
-
67
- # @return [String]
68
- def to_s
69
- out_str = String.new
70
- out_str << "\n:Country Code: #{@country_code}".rstrip
71
- out_str << "\n:Document ID: #{@document_id}".rstrip
72
- out_str << "\n:Driver License Category: #{@category}".rstrip
73
- out_str << "\n:Last Name: #{@last_name}".rstrip
74
- out_str << "\n:First Name: #{@first_name}".rstrip
75
- out_str << "\n:Date Of Birth: #{@date_of_birth}".rstrip
76
- out_str << "\n:Place Of Birth: #{@place_of_birth}".rstrip
77
- out_str << "\n:Expiry Date: #{@expiry_date}".rstrip
78
- out_str << "\n:Issue Date: #{@issue_date}".rstrip
79
- out_str << "\n:Issue Authority: #{@issue_authority}".rstrip
80
- out_str << "\n:MRZ: #{@mrz}".rstrip
81
- out_str << "\n:Address: #{@address}".rstrip
82
- out_str[1..].to_s
83
- end
84
- end
85
- end
86
- end
87
- end
88
- end
@@ -1,53 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative '../../../parsing'
4
- require_relative 'driver_license_v1_document'
5
-
6
- module Mindee
7
- module Product
8
- module EU
9
- module DriverLicense
10
- # Driver License API version 1.0 page data.
11
- class DriverLicenseV1Page < Mindee::Parsing::Common::Page
12
- # @param prediction [Hash]
13
- def initialize(prediction)
14
- super(prediction)
15
- @prediction = DriverLicenseV1PagePrediction.new(
16
- prediction['prediction'],
17
- prediction['id']
18
- )
19
- end
20
- end
21
-
22
- # Driver License V1 page prediction.
23
- class DriverLicenseV1PagePrediction < DriverLicenseV1Document
24
- include Mindee::Parsing::Standard
25
-
26
- # Has a photo of the EU driver license holder
27
- # @return [Mindee::Parsing::Standard::PositionField]
28
- attr_reader :photo
29
- # Has a signature of the EU driver license holder
30
- # @return [Mindee::Parsing::Standard::PositionField]
31
- attr_reader :signature
32
-
33
- # @param prediction [Hash]
34
- # @param page_id [Integer, nil]
35
- def initialize(prediction, page_id)
36
- @photo = PositionField.new(prediction['photo'], page_id)
37
- @signature = PositionField.new(prediction['signature'], page_id)
38
- super(prediction, page_id)
39
- end
40
-
41
- # @return [String]
42
- def to_s
43
- out_str = String.new
44
- out_str << "\n:Photo: #{@photo}".rstrip
45
- out_str << "\n:Signature: #{@signature}".rstrip
46
- out_str << "\n#{super}"
47
- out_str
48
- end
49
- end
50
- end
51
- end
52
- end
53
- end
@@ -1,41 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative '../../../parsing'
4
- require_relative 'bank_statement_v1_document'
5
- require_relative 'bank_statement_v1_page'
6
-
7
- module Mindee
8
- module Product
9
- module FR
10
- # Bank Statement (FR) module.
11
- module BankStatement
12
- # Bank Statement (FR) V1 prediction inference.
13
- class BankStatementV1 < Mindee::Parsing::Common::Inference
14
- @endpoint_name = 'bank_statement_fr'
15
- @endpoint_version = '1'
16
-
17
- # @param prediction [Hash]
18
- def initialize(prediction)
19
- super
20
- @prediction = BankStatementV1Document.new(prediction['prediction'], nil)
21
- @pages = []
22
- prediction['pages'].each do |page|
23
- if page.key?('prediction') && !page['prediction'].nil? && !page['prediction'].empty?
24
- @pages.push(BankStatementV1Page.new(page))
25
- end
26
- end
27
- end
28
-
29
- class << self
30
- # Name of the endpoint for this product.
31
- # @return [String]
32
- attr_reader :endpoint_name
33
- # Version for this product.
34
- # @return [String]
35
- attr_reader :endpoint_version
36
- end
37
- end
38
- end
39
- end
40
- end
41
- end
@@ -1,130 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative '../../../parsing'
4
- require_relative 'bank_statement_v1_transaction'
5
-
6
- module Mindee
7
- module Product
8
- module FR
9
- module BankStatement
10
- # Bank Statement (FR) V1 document prediction.
11
- class BankStatementV1Document < Mindee::Parsing::Common::Prediction
12
- include Mindee::Parsing::Standard
13
- # The unique identifier for a customer's account in the bank's system.
14
- # @return [Mindee::Parsing::Standard::StringField]
15
- attr_reader :account_number
16
- # The physical location of the bank where the statement was issued.
17
- # @return [Mindee::Parsing::Standard::StringField]
18
- attr_reader :bank_address
19
- # The name of the bank that issued the statement.
20
- # @return [Mindee::Parsing::Standard::StringField]
21
- attr_reader :bank_name
22
- # The address of the client associated with the bank statement.
23
- # @return [Mindee::Parsing::Standard::StringField]
24
- attr_reader :client_address
25
- # The name of the client who owns the bank statement.
26
- # @return [Mindee::Parsing::Standard::StringField]
27
- attr_reader :client_name
28
- # The final amount of money in the account at the end of the statement period.
29
- # @return [Mindee::Parsing::Standard::AmountField]
30
- attr_reader :closing_balance
31
- # The initial amount of money in an account at the start of the period.
32
- # @return [Mindee::Parsing::Standard::AmountField]
33
- attr_reader :opening_balance
34
- # The date on which the bank statement was generated.
35
- # @return [Mindee::Parsing::Standard::DateField]
36
- attr_reader :statement_date
37
- # The date when the statement period ends.
38
- # @return [Mindee::Parsing::Standard::DateField]
39
- attr_reader :statement_end_date
40
- # The date when the bank statement period begins.
41
- # @return [Mindee::Parsing::Standard::DateField]
42
- attr_reader :statement_start_date
43
- # The total amount of money deposited into the account.
44
- # @return [Mindee::Parsing::Standard::AmountField]
45
- attr_reader :total_credits
46
- # The total amount of money debited from the account.
47
- # @return [Mindee::Parsing::Standard::AmountField]
48
- attr_reader :total_debits
49
- # The list of values that represent the financial transactions recorded in a bank statement.
50
- # @return [Array<Mindee::Product::FR::BankStatement::BankStatementV1Transaction>]
51
- attr_reader :transactions
52
-
53
- # @param prediction [Hash]
54
- # @param page_id [Integer, nil]
55
- def initialize(prediction, page_id)
56
- super()
57
- @account_number = StringField.new(prediction['account_number'], page_id)
58
- @bank_address = StringField.new(prediction['bank_address'], page_id)
59
- @bank_name = StringField.new(prediction['bank_name'], page_id)
60
- @client_address = StringField.new(prediction['client_address'], page_id)
61
- @client_name = StringField.new(prediction['client_name'], page_id)
62
- @closing_balance = AmountField.new(prediction['closing_balance'], page_id)
63
- @opening_balance = AmountField.new(prediction['opening_balance'], page_id)
64
- @statement_date = DateField.new(prediction['statement_date'], page_id)
65
- @statement_end_date = DateField.new(prediction['statement_end_date'], page_id)
66
- @statement_start_date = DateField.new(prediction['statement_start_date'], page_id)
67
- @total_credits = AmountField.new(prediction['total_credits'], page_id)
68
- @total_debits = AmountField.new(prediction['total_debits'], page_id)
69
- @transactions = []
70
- prediction['transactions'].each do |item|
71
- @transactions.push(BankStatementV1Transaction.new(item, page_id))
72
- end
73
- end
74
-
75
- # @return [String]
76
- def to_s
77
- transactions = transactions_to_s
78
- out_str = String.new
79
- out_str << "\n:Account Number: #{@account_number}".rstrip
80
- out_str << "\n:Bank Name: #{@bank_name}".rstrip
81
- out_str << "\n:Bank Address: #{@bank_address}".rstrip
82
- out_str << "\n:Client Name: #{@client_name}".rstrip
83
- out_str << "\n:Client Address: #{@client_address}".rstrip
84
- out_str << "\n:Statement Date: #{@statement_date}".rstrip
85
- out_str << "\n:Statement Start Date: #{@statement_start_date}".rstrip
86
- out_str << "\n:Statement End Date: #{@statement_end_date}".rstrip
87
- out_str << "\n:Opening Balance: #{@opening_balance}".rstrip
88
- out_str << "\n:Closing Balance: #{@closing_balance}".rstrip
89
- out_str << "\n:Transactions:"
90
- out_str << transactions
91
- out_str << "\n:Total Debits: #{@total_debits}".rstrip
92
- out_str << "\n:Total Credits: #{@total_credits}".rstrip
93
- out_str[1..].to_s
94
- end
95
-
96
- private
97
-
98
- # @param char [String]
99
- # @return [String]
100
- def transactions_separator(char)
101
- out_str = String.new
102
- out_str << ' '
103
- out_str << "+#{char * 11}"
104
- out_str << "+#{char * 12}"
105
- out_str << "+#{char * 38}"
106
- out_str << '+'
107
- out_str
108
- end
109
-
110
- # @return [String]
111
- def transactions_to_s
112
- return '' if @transactions.empty?
113
-
114
- line_items = @transactions.map(&:to_table_line).join("\n#{transactions_separator('-')}\n ")
115
- out_str = String.new
116
- out_str << "\n#{transactions_separator('-')}"
117
- out_str << "\n |"
118
- out_str << ' Amount |'
119
- out_str << ' Date |'
120
- out_str << ' Description |'
121
- out_str << "\n#{transactions_separator('=')}"
122
- out_str << "\n #{line_items}"
123
- out_str << "\n#{transactions_separator('-')}"
124
- out_str
125
- end
126
- end
127
- end
128
- end
129
- end
130
- end
@@ -1,34 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative '../../../parsing'
4
- require_relative 'bank_statement_v1_document'
5
-
6
- module Mindee
7
- module Product
8
- module FR
9
- module BankStatement
10
- # Bank Statement (FR) V1 page.
11
- class BankStatementV1Page < Mindee::Parsing::Common::Page
12
- # @param prediction [Hash]
13
- def initialize(prediction)
14
- super(prediction)
15
- @prediction = BankStatementV1PagePrediction.new(
16
- prediction['prediction'],
17
- prediction['id']
18
- )
19
- end
20
- end
21
-
22
- # Bank Statement (FR) V1 page prediction.
23
- class BankStatementV1PagePrediction < BankStatementV1Document
24
- # @return [String]
25
- def to_s
26
- out_str = String.new
27
- out_str << "\n#{super}"
28
- out_str
29
- end
30
- end
31
- end
32
- end
33
- end
34
- end
@@ -1,64 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative '../../../parsing'
4
-
5
- module Mindee
6
- module Product
7
- module FR
8
- module BankStatement
9
- # The list of values that represent the financial transactions recorded in a bank statement.
10
- class BankStatementV1Transaction < Mindee::Parsing::Standard::FeatureField
11
- include Mindee::Parsing::Standard
12
- # The monetary amount of the transaction.
13
- # @return [Float]
14
- attr_reader :amount
15
- # The date on which the transaction occurred.
16
- # @return [String]
17
- attr_reader :date
18
- # The additional information about the transaction.
19
- # @return [String]
20
- attr_reader :description
21
-
22
- # @param prediction [Hash]
23
- # @param page_id [Integer, nil]
24
- def initialize(prediction, page_id)
25
- super(prediction, page_id)
26
- @amount = prediction['amount']
27
- @date = prediction['date']
28
- @description = prediction['description']
29
- @page_id = page_id
30
- end
31
-
32
- # @return [Hash]
33
- def printable_values
34
- printable = {}
35
- printable[:amount] = @amount.nil? ? '' : Field.float_to_string(@amount)
36
- printable[:date] = format_for_display(@date, nil)
37
- printable[:description] = format_for_display(@description, 36)
38
- printable
39
- end
40
-
41
- # @return [String]
42
- def to_table_line
43
- printable = printable_values
44
- out_str = String.new
45
- out_str << format('| %- 10s', printable[:amount])
46
- out_str << format('| %- 11s', printable[:date])
47
- out_str << format('| %- 37s', printable[:description])
48
- out_str << '|'
49
- end
50
-
51
- # @return [String]
52
- def to_s
53
- printable = printable_values
54
- out_str = String.new
55
- out_str << "\n :Amount: #{printable[:amount]}"
56
- out_str << "\n :Date: #{printable[:date]}"
57
- out_str << "\n :Description: #{printable[:description]}"
58
- out_str
59
- end
60
- end
61
- end
62
- end
63
- end
64
- end
@@ -1,38 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative 'generated_v1_document'
4
- require_relative 'generated_v1_page'
5
-
6
- module Mindee
7
- module Product
8
- # Generated product module.
9
- module Generated
10
- # Generated Document V1 prediction inference.
11
- class GeneratedV1 < Mindee::Parsing::Common::Inference
12
- @endpoint_name = ''
13
- @endpoint_version = ''
14
-
15
- # @param prediction [Hash]
16
- def initialize(prediction)
17
- super
18
- @prediction = GeneratedV1Document.new(prediction['prediction'])
19
- @pages = []
20
- prediction['pages'].each do |page|
21
- if page.key?('prediction') && !page['prediction'].nil? && !page['prediction'].empty?
22
- @pages.push(GeneratedV1Page.new(page))
23
- end
24
- end
25
- end
26
-
27
- class << self
28
- # Name of the endpoint for this product.
29
- # @return [String]
30
- attr_reader :endpoint_name
31
- # Version for this product.
32
- # @return [String]
33
- attr_reader :endpoint_version
34
- end
35
- end
36
- end
37
- end
38
- end
@@ -1,35 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative '../../parsing'
4
- require_relative 'generated_v1_prediction'
5
-
6
- module Mindee
7
- module Product
8
- module Generated
9
- # Generated Document V1 prediction
10
- class GeneratedV1Document < Mindee::Product::Generated::GeneratedV1Prediction
11
- include Mindee::Parsing::Standard
12
- # @param raw_prediction [Hash]
13
- def initialize(raw_prediction)
14
- # Generated document.
15
-
16
- # raw_prediction: Dictionary containing the JSON document response
17
- super()
18
- raw_prediction.each do |field_name, field_contents|
19
- if field_contents.is_a?(Array)
20
- @fields[field_name] = Parsing::Generated::GeneratedListField.new(field_contents)
21
- elsif field_contents.is_a?(Hash) && Parsing::Generated.generated_object?(field_contents)
22
- @fields[field_name] = Parsing::Generated::GeneratedObjectField.new(field_contents)
23
- else
24
- field_contents_str = field_contents.dup
25
- if field_contents_str.key?('value') && field_contents_str['value'].nil? == false
26
- field_contents_str['value'] = field_contents_str['value'].to_s
27
- end
28
- @fields[field_name] = StringField.new(field_contents_str)
29
- end
30
- end
31
- end
32
- end
33
- end
34
- end
35
- end
@@ -1,39 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative '../../parsing'
4
- require_relative 'proof_of_address_v1_document'
5
- require_relative 'proof_of_address_v1_page'
6
-
7
- module Mindee
8
- module Product
9
- # Proof of Address module.
10
- module ProofOfAddress
11
- # Proof of Address API version 1 inference prediction.
12
- class ProofOfAddressV1 < Mindee::Parsing::Common::Inference
13
- @endpoint_name = 'proof_of_address'
14
- @endpoint_version = '1'
15
-
16
- # @param prediction [Hash]
17
- def initialize(prediction)
18
- super
19
- @prediction = ProofOfAddressV1Document.new(prediction['prediction'], nil)
20
- @pages = []
21
- prediction['pages'].each do |page|
22
- if page.key?('prediction') && !page['prediction'].nil? && !page['prediction'].empty?
23
- @pages.push(ProofOfAddressV1Page.new(page))
24
- end
25
- end
26
- end
27
-
28
- class << self
29
- # Name of the endpoint for this product.
30
- # @return [String]
31
- attr_reader :endpoint_name
32
- # Version for this product.
33
- # @return [String]
34
- attr_reader :endpoint_version
35
- end
36
- end
37
- end
38
- end
39
- end
@@ -1,83 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative '../../parsing'
4
-
5
- module Mindee
6
- module Product
7
- module ProofOfAddress
8
- # Proof of Address API version 1.1 document data.
9
- class ProofOfAddressV1Document < Mindee::Parsing::Common::Prediction
10
- include Mindee::Parsing::Standard
11
- # The date the document was issued.
12
- # @return [Mindee::Parsing::Standard::DateField]
13
- attr_reader :date
14
- # List of dates found on the document.
15
- # @return [Array<Mindee::Parsing::Standard::DateField>]
16
- attr_reader :dates
17
- # The address of the document's issuer.
18
- # @return [Mindee::Parsing::Standard::StringField]
19
- attr_reader :issuer_address
20
- # List of company registrations found for the issuer.
21
- # @return [Array<Mindee::Parsing::Standard::CompanyRegistrationField>]
22
- attr_reader :issuer_company_registration
23
- # The name of the person or company issuing the document.
24
- # @return [Mindee::Parsing::Standard::StringField]
25
- attr_reader :issuer_name
26
- # The locale detected on the document.
27
- # @return [Mindee::Parsing::Standard::LocaleField]
28
- attr_reader :locale
29
- # The address of the recipient.
30
- # @return [Mindee::Parsing::Standard::StringField]
31
- attr_reader :recipient_address
32
- # List of company registrations found for the recipient.
33
- # @return [Array<Mindee::Parsing::Standard::CompanyRegistrationField>]
34
- attr_reader :recipient_company_registration
35
- # The name of the person or company receiving the document.
36
- # @return [Mindee::Parsing::Standard::StringField]
37
- attr_reader :recipient_name
38
-
39
- # @param prediction [Hash]
40
- # @param page_id [Integer, nil]
41
- def initialize(prediction, page_id)
42
- super()
43
- @date = DateField.new(prediction['date'], page_id)
44
- @dates = []
45
- prediction['dates'].each do |item|
46
- @dates.push(DateField.new(item, page_id))
47
- end
48
- @issuer_address = StringField.new(prediction['issuer_address'], page_id)
49
- @issuer_company_registration = []
50
- prediction['issuer_company_registration'].each do |item|
51
- @issuer_company_registration.push(CompanyRegistrationField.new(item, page_id))
52
- end
53
- @issuer_name = StringField.new(prediction['issuer_name'], page_id)
54
- @locale = LocaleField.new(prediction['locale'], page_id)
55
- @recipient_address = StringField.new(prediction['recipient_address'], page_id)
56
- @recipient_company_registration = []
57
- prediction['recipient_company_registration'].each do |item|
58
- @recipient_company_registration.push(CompanyRegistrationField.new(item, page_id))
59
- end
60
- @recipient_name = StringField.new(prediction['recipient_name'], page_id)
61
- end
62
-
63
- # @return [String]
64
- def to_s
65
- issuer_company_registration = @issuer_company_registration.join("\n #{' ' * 30}")
66
- recipient_company_registration = @recipient_company_registration.join("\n #{' ' * 33}")
67
- dates = @dates.join("\n #{' ' * 7}")
68
- out_str = String.new
69
- out_str << "\n:Locale: #{@locale}".rstrip
70
- out_str << "\n:Issuer Name: #{@issuer_name}".rstrip
71
- out_str << "\n:Issuer Company Registrations: #{issuer_company_registration}".rstrip
72
- out_str << "\n:Issuer Address: #{@issuer_address}".rstrip
73
- out_str << "\n:Recipient Name: #{@recipient_name}".rstrip
74
- out_str << "\n:Recipient Company Registrations: #{recipient_company_registration}".rstrip
75
- out_str << "\n:Recipient Address: #{@recipient_address}".rstrip
76
- out_str << "\n:Dates: #{dates}".rstrip
77
- out_str << "\n:Date of Issue: #{@date}".rstrip
78
- out_str[1..].to_s
79
- end
80
- end
81
- end
82
- end
83
- end
@@ -1,32 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative '../../parsing'
4
- require_relative 'proof_of_address_v1_document'
5
-
6
- module Mindee
7
- module Product
8
- module ProofOfAddress
9
- # Proof of Address API version 1.1 page data.
10
- class ProofOfAddressV1Page < Mindee::Parsing::Common::Page
11
- # @param prediction [Hash]
12
- def initialize(prediction)
13
- super(prediction)
14
- @prediction = ProofOfAddressV1PagePrediction.new(
15
- prediction['prediction'],
16
- prediction['id']
17
- )
18
- end
19
- end
20
-
21
- # Proof of Address V1 page prediction.
22
- class ProofOfAddressV1PagePrediction < ProofOfAddressV1Document
23
- # @return [String]
24
- def to_s
25
- out_str = String.new
26
- out_str << "\n#{super}"
27
- out_str
28
- end
29
- end
30
- end
31
- end
32
- end
@@ -1,36 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative '../../parsing'
4
- require_relative 'receipt_v4_document'
5
- require_relative 'receipt_v4_page'
6
-
7
- module Mindee
8
- module Product
9
- module Receipt
10
- # Expense Receipt V4 prediction inference.
11
- class ReceiptV4 < Mindee::Parsing::Common::Inference
12
- @endpoint_name = 'expense_receipts'
13
- @endpoint_version = '4'
14
-
15
- # @param prediction [Hash]
16
- def initialize(prediction)
17
- super
18
- @prediction = ReceiptV4Document.new(prediction['prediction'], nil)
19
- @pages = []
20
- prediction['pages'].each do |page|
21
- @pages.push(ReceiptV4Page.new(page))
22
- end
23
- end
24
-
25
- class << self
26
- # Name of the endpoint for this product.
27
- # @return [String]
28
- attr_reader :endpoint_name
29
- # Version for this product.
30
- # @return [String]
31
- attr_reader :endpoint_version
32
- end
33
- end
34
- end
35
- end
36
- end