mindee-lite 5.0.0.beta1
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.
- checksums.yaml +7 -0
- data/.editorconfig +24 -0
- data/.gitattributes +14 -0
- data/.gitignore +76 -0
- data/.gitmodules +3 -0
- data/.pre-commit-config.yaml +36 -0
- data/.rubocop.yml +49 -0
- data/.yardopts +4 -0
- data/CHANGELOG.md +515 -0
- data/CODE_OF_CONDUCT.md +129 -0
- data/CONTRIBUTING.md +107 -0
- data/Gemfile +14 -0
- data/LICENSE +21 -0
- data/README.md +42 -0
- data/Rakefile +40 -0
- data/Steepfile +30 -0
- data/bin/console +14 -0
- data/bin/mindee.rb +30 -0
- data/bin/v1/parser.rb +153 -0
- data/bin/v1/products.rb +88 -0
- data/bin/v2/parser.rb +235 -0
- data/bin/v2/products.rb +34 -0
- data/docs/code_samples/bank_account_details_v1.txt +24 -0
- data/docs/code_samples/bank_account_details_v2.txt +24 -0
- data/docs/code_samples/bank_statement_fr_v2_async.txt +24 -0
- data/docs/code_samples/barcode_reader_v1.txt +24 -0
- data/docs/code_samples/cropper_v1.txt +21 -0
- data/docs/code_samples/default.txt +30 -0
- data/docs/code_samples/default_async.txt +29 -0
- data/docs/code_samples/expense_receipts_v5.txt +25 -0
- data/docs/code_samples/expense_receipts_v5_async.txt +24 -0
- data/docs/code_samples/financial_document_v1.txt +25 -0
- data/docs/code_samples/financial_document_v1_async.txt +24 -0
- data/docs/code_samples/idcard_fr_v1.txt +24 -0
- data/docs/code_samples/idcard_fr_v2.txt +24 -0
- data/docs/code_samples/international_id_v2_async.txt +24 -0
- data/docs/code_samples/invoice_splitter_v1_async.txt +24 -0
- data/docs/code_samples/invoices_v4.txt +25 -0
- data/docs/code_samples/invoices_v4_async.txt +24 -0
- data/docs/code_samples/multi_receipts_detector_v1.txt +24 -0
- data/docs/code_samples/passport_v1.txt +24 -0
- data/docs/code_samples/resume_v1_async.txt +24 -0
- data/docs/code_samples/v2_classification.txt +30 -0
- data/docs/code_samples/v2_crop.txt +30 -0
- data/docs/code_samples/v2_extraction.txt +42 -0
- data/docs/code_samples/v2_extraction_webhook.txt +45 -0
- data/docs/code_samples/v2_ocr.txt +30 -0
- data/docs/code_samples/v2_split.txt +30 -0
- data/docs/code_samples/workflow_execution.txt +28 -0
- data/docs/code_samples/workflow_polling.txt +35 -0
- data/examples/auto_invoice_splitter_extraction.rb +48 -0
- data/examples/auto_multi_receipts_detector_extraction.rb +30 -0
- data/lib/mindee/dependency.rb +29 -0
- data/lib/mindee/error/mindee_error.rb +17 -0
- data/lib/mindee/error/mindee_http_error.rb +36 -0
- data/lib/mindee/error/mindee_http_error_v2.rb +45 -0
- data/lib/mindee/error/mindee_http_unknown_error_v2.rb +18 -0
- data/lib/mindee/error/mindee_input_error.rb +30 -0
- data/lib/mindee/error.rb +6 -0
- data/lib/mindee/geometry/min_max.rb +23 -0
- data/lib/mindee/geometry/point.rb +41 -0
- data/lib/mindee/geometry/polygon.rb +37 -0
- data/lib/mindee/geometry/quadrilateral.rb +50 -0
- data/lib/mindee/geometry/utils.rb +88 -0
- data/lib/mindee/geometry.rb +7 -0
- data/lib/mindee/http/.rubocop.yml +7 -0
- data/lib/mindee/http/http_error_handler.rb +106 -0
- data/lib/mindee/http/response_validation.rb +81 -0
- data/lib/mindee/http.rb +3 -0
- data/lib/mindee/image/extracted_image.rb +89 -0
- data/lib/mindee/image/image_compressor.rb +29 -0
- data/lib/mindee/image/image_extractor.rb +118 -0
- data/lib/mindee/image/image_utils.rb +165 -0
- data/lib/mindee/image.rb +6 -0
- data/lib/mindee/input/base_parameters.rb +149 -0
- data/lib/mindee/input/local_response.rb +80 -0
- data/lib/mindee/input/polling_options.rb +26 -0
- data/lib/mindee/input/sources/base64_input_source.rb +31 -0
- data/lib/mindee/input/sources/bytes_input_source.rb +21 -0
- data/lib/mindee/input/sources/file_input_source.rb +20 -0
- data/lib/mindee/input/sources/local_input_source.rb +216 -0
- data/lib/mindee/input/sources/path_input_source.rb +20 -0
- data/lib/mindee/input/sources/url_input_source.rb +130 -0
- data/lib/mindee/input/sources.rb +8 -0
- data/lib/mindee/input.rb +4 -0
- data/lib/mindee/logging/logger.rb +24 -0
- data/lib/mindee/logging.rb +3 -0
- data/lib/mindee/page_options.rb +24 -0
- data/lib/mindee/pdf/extracted_pdf.rb +70 -0
- data/lib/mindee/pdf/pdf_compressor.rb +121 -0
- data/lib/mindee/pdf/pdf_extractor.rb +121 -0
- data/lib/mindee/pdf/pdf_processor.rb +91 -0
- data/lib/mindee/pdf/pdf_tools.rb +201 -0
- data/lib/mindee/pdf.rb +7 -0
- data/lib/mindee/v1/client.rb +490 -0
- data/lib/mindee/v1/extraction/multi_receipts_extractor.rb +32 -0
- data/lib/mindee/v1/extraction.rb +3 -0
- data/lib/mindee/v1/http/.rubocop.yml +7 -0
- data/lib/mindee/v1/http/endpoint.rb +221 -0
- data/lib/mindee/v1/http/workflow_endpoint.rb +93 -0
- data/lib/mindee/v1/http.rb +4 -0
- data/lib/mindee/v1/parsing/common/api_request.rb +38 -0
- data/lib/mindee/v1/parsing/common/api_response.rb +63 -0
- data/lib/mindee/v1/parsing/common/document.rb +86 -0
- data/lib/mindee/v1/parsing/common/execution.rb +78 -0
- data/lib/mindee/v1/parsing/common/execution_file.rb +26 -0
- data/lib/mindee/v1/parsing/common/execution_priority.rb +38 -0
- data/lib/mindee/v1/parsing/common/extras/cropper_extra.rb +32 -0
- data/lib/mindee/v1/parsing/common/extras/extras.rb +62 -0
- data/lib/mindee/v1/parsing/common/extras/full_text_ocr_extra.rb +35 -0
- data/lib/mindee/v1/parsing/common/extras/rag_extra.rb +28 -0
- data/lib/mindee/v1/parsing/common/extras.rb +6 -0
- data/lib/mindee/v1/parsing/common/inference.rb +69 -0
- data/lib/mindee/v1/parsing/common/job.rb +48 -0
- data/lib/mindee/v1/parsing/common/ocr/mvision_v1.rb +52 -0
- data/lib/mindee/v1/parsing/common/ocr/ocr.rb +180 -0
- data/lib/mindee/v1/parsing/common/ocr.rb +3 -0
- data/lib/mindee/v1/parsing/common/orientation.rb +28 -0
- data/lib/mindee/v1/parsing/common/page.rb +49 -0
- data/lib/mindee/v1/parsing/common/prediction.rb +19 -0
- data/lib/mindee/v1/parsing/common/product.rb +26 -0
- data/lib/mindee/v1/parsing/common/workflow_response.rb +30 -0
- data/lib/mindee/v1/parsing/common.rb +15 -0
- data/lib/mindee/v1/parsing/standard/abstract_field.rb +74 -0
- data/lib/mindee/v1/parsing/standard/address_field.rb +51 -0
- data/lib/mindee/v1/parsing/standard/amount_field.rb +28 -0
- data/lib/mindee/v1/parsing/standard/base_field.rb +30 -0
- data/lib/mindee/v1/parsing/standard/boolean_field.rb +29 -0
- data/lib/mindee/v1/parsing/standard/classification_field.rb +18 -0
- data/lib/mindee/v1/parsing/standard/company_registration_field.rb +45 -0
- data/lib/mindee/v1/parsing/standard/date_field.rb +40 -0
- data/lib/mindee/v1/parsing/standard/feature_field.rb +26 -0
- data/lib/mindee/v1/parsing/standard/locale_field.rb +52 -0
- data/lib/mindee/v1/parsing/standard/payment_details_field.rb +44 -0
- data/lib/mindee/v1/parsing/standard/position_field.rb +61 -0
- data/lib/mindee/v1/parsing/standard/string_field.rb +26 -0
- data/lib/mindee/v1/parsing/standard/tax_field.rb +110 -0
- data/lib/mindee/v1/parsing/standard.rb +15 -0
- data/lib/mindee/v1/parsing/universal/universal_list_field.rb +60 -0
- data/lib/mindee/v1/parsing/universal/universal_object_field.rb +123 -0
- data/lib/mindee/v1/parsing/universal.rb +4 -0
- data/lib/mindee/v1/parsing.rb +5 -0
- data/lib/mindee/v1/product/.rubocop.yml +12 -0
- data/lib/mindee/v1/product/barcode_reader/barcode_reader_v1.rb +47 -0
- data/lib/mindee/v1/product/barcode_reader/barcode_reader_v1_document.rb +47 -0
- data/lib/mindee/v1/product/barcode_reader/barcode_reader_v1_page.rb +38 -0
- data/lib/mindee/v1/product/cropper/cropper_v1.rb +47 -0
- data/lib/mindee/v1/product/cropper/cropper_v1_document.rb +15 -0
- data/lib/mindee/v1/product/cropper/cropper_v1_page.rb +55 -0
- data/lib/mindee/v1/product/financial_document/financial_document_v1.rb +47 -0
- data/lib/mindee/v1/product/financial_document/financial_document_v1_document.rb +329 -0
- data/lib/mindee/v1/product/financial_document/financial_document_v1_line_item.rb +124 -0
- data/lib/mindee/v1/product/financial_document/financial_document_v1_line_items.rb +64 -0
- data/lib/mindee/v1/product/financial_document/financial_document_v1_page.rb +38 -0
- data/lib/mindee/v1/product/fr/bank_account_details/bank_account_details_v1.rb +49 -0
- data/lib/mindee/v1/product/fr/bank_account_details/bank_account_details_v1_document.rb +49 -0
- data/lib/mindee/v1/product/fr/bank_account_details/bank_account_details_v1_page.rb +40 -0
- data/lib/mindee/v1/product/fr/bank_account_details/bank_account_details_v2.rb +49 -0
- data/lib/mindee/v1/product/fr/bank_account_details/bank_account_details_v2_bban.rb +63 -0
- data/lib/mindee/v1/product/fr/bank_account_details/bank_account_details_v2_document.rb +60 -0
- data/lib/mindee/v1/product/fr/bank_account_details/bank_account_details_v2_page.rb +40 -0
- data/lib/mindee/v1/product/fr/bank_statement/bank_statement_v2.rb +49 -0
- data/lib/mindee/v1/product/fr/bank_statement/bank_statement_v2_document.rb +169 -0
- data/lib/mindee/v1/product/fr/bank_statement/bank_statement_v2_page.rb +40 -0
- data/lib/mindee/v1/product/fr/bank_statement/bank_statement_v2_transaction.rb +78 -0
- data/lib/mindee/v1/product/fr/bank_statement/bank_statement_v2_transactions.rb +56 -0
- data/lib/mindee/v1/product/fr/id_card/id_card_v1.rb +49 -0
- data/lib/mindee/v1/product/fr/id_card/id_card_v1_document.rb +106 -0
- data/lib/mindee/v1/product/fr/id_card/id_card_v1_page.rb +57 -0
- data/lib/mindee/v1/product/fr/id_card/id_card_v2.rb +49 -0
- data/lib/mindee/v1/product/fr/id_card/id_card_v2_document.rb +143 -0
- data/lib/mindee/v1/product/fr/id_card/id_card_v2_page.rb +65 -0
- data/lib/mindee/v1/product/international_id/international_id_v2.rb +47 -0
- data/lib/mindee/v1/product/international_id/international_id_v2_document.rb +164 -0
- data/lib/mindee/v1/product/international_id/international_id_v2_page.rb +38 -0
- data/lib/mindee/v1/product/invoice/invoice_v4.rb +47 -0
- data/lib/mindee/v1/product/invoice/invoice_v4_document.rb +300 -0
- data/lib/mindee/v1/product/invoice/invoice_v4_line_item.rb +124 -0
- data/lib/mindee/v1/product/invoice/invoice_v4_line_items.rb +64 -0
- data/lib/mindee/v1/product/invoice/invoice_v4_page.rb +38 -0
- data/lib/mindee/v1/product/invoice_splitter/invoice_splitter_v1.rb +47 -0
- data/lib/mindee/v1/product/invoice_splitter/invoice_splitter_v1_document.rb +66 -0
- data/lib/mindee/v1/product/invoice_splitter/invoice_splitter_v1_invoice_page_group.rb +58 -0
- data/lib/mindee/v1/product/invoice_splitter/invoice_splitter_v1_invoice_page_groups.rb +50 -0
- data/lib/mindee/v1/product/invoice_splitter/invoice_splitter_v1_page.rb +38 -0
- data/lib/mindee/v1/product/multi_receipts_detector/multi_receipts_detector_v1.rb +47 -0
- data/lib/mindee/v1/product/multi_receipts_detector/multi_receipts_detector_v1_document.rb +38 -0
- data/lib/mindee/v1/product/multi_receipts_detector/multi_receipts_detector_v1_page.rb +38 -0
- data/lib/mindee/v1/product/passport/passport_v1.rb +47 -0
- data/lib/mindee/v1/product/passport/passport_v1_document.rb +112 -0
- data/lib/mindee/v1/product/passport/passport_v1_page.rb +38 -0
- data/lib/mindee/v1/product/receipt/receipt_v5.rb +47 -0
- data/lib/mindee/v1/product/receipt/receipt_v5_document.rb +187 -0
- data/lib/mindee/v1/product/receipt/receipt_v5_line_item.rb +88 -0
- data/lib/mindee/v1/product/receipt/receipt_v5_line_items.rb +56 -0
- data/lib/mindee/v1/product/receipt/receipt_v5_page.rb +38 -0
- data/lib/mindee/v1/product/resume/resume_v1.rb +47 -0
- data/lib/mindee/v1/product/resume/resume_v1_certificate.rb +82 -0
- data/lib/mindee/v1/product/resume/resume_v1_certificates.rb +60 -0
- data/lib/mindee/v1/product/resume/resume_v1_document.rb +340 -0
- data/lib/mindee/v1/product/resume/resume_v1_education.rb +106 -0
- data/lib/mindee/v1/product/resume/resume_v1_educations.rb +66 -0
- data/lib/mindee/v1/product/resume/resume_v1_language.rb +66 -0
- data/lib/mindee/v1/product/resume/resume_v1_languages.rb +56 -0
- data/lib/mindee/v1/product/resume/resume_v1_page.rb +38 -0
- data/lib/mindee/v1/product/resume/resume_v1_professional_experience.rb +122 -0
- data/lib/mindee/v1/product/resume/resume_v1_professional_experiences.rb +70 -0
- data/lib/mindee/v1/product/resume/resume_v1_social_networks_url.rb +66 -0
- data/lib/mindee/v1/product/resume/resume_v1_social_networks_urls.rb +56 -0
- data/lib/mindee/v1/product/universal/universal.rb +48 -0
- data/lib/mindee/v1/product/universal/universal_document.rb +35 -0
- data/lib/mindee/v1/product/universal/universal_page.rb +54 -0
- data/lib/mindee/v1/product/universal/universal_prediction.rb +128 -0
- data/lib/mindee/v1/product.rb +18 -0
- data/lib/mindee/v1.rb +7 -0
- data/lib/mindee/v2/client.rb +132 -0
- data/lib/mindee/v2/file_operation/crop.rb +51 -0
- data/lib/mindee/v2/file_operation/crop_files.rb +25 -0
- data/lib/mindee/v2/file_operation/split.rb +37 -0
- data/lib/mindee/v2/file_operation/split_files.rb +25 -0
- data/lib/mindee/v2/file_operation.rb +6 -0
- data/lib/mindee/v2/http/.rubocop.yml +7 -0
- data/lib/mindee/v2/http/api_v2_settings.rb +65 -0
- data/lib/mindee/v2/http/mindee_api_v2.rb +230 -0
- data/lib/mindee/v2/http.rb +4 -0
- data/lib/mindee/v2/parsing/base_inference.rb +44 -0
- data/lib/mindee/v2/parsing/base_response.rb +15 -0
- data/lib/mindee/v2/parsing/common_response.rb +20 -0
- data/lib/mindee/v2/parsing/error_item.rb +21 -0
- data/lib/mindee/v2/parsing/error_response.rb +51 -0
- data/lib/mindee/v2/parsing/field/base_field.rb +63 -0
- data/lib/mindee/v2/parsing/field/field_confidence.rb +128 -0
- data/lib/mindee/v2/parsing/field/field_location.rb +33 -0
- data/lib/mindee/v2/parsing/field/inference_fields.rb +105 -0
- data/lib/mindee/v2/parsing/field/list_field.rb +79 -0
- data/lib/mindee/v2/parsing/field/object_field.rb +138 -0
- data/lib/mindee/v2/parsing/field/simple_field.rb +60 -0
- data/lib/mindee/v2/parsing/field.rb +9 -0
- data/lib/mindee/v2/parsing/inference_active_options.rb +67 -0
- data/lib/mindee/v2/parsing/inference_file.rb +38 -0
- data/lib/mindee/v2/parsing/inference_job.rb +25 -0
- data/lib/mindee/v2/parsing/inference_model.rb +30 -0
- data/lib/mindee/v2/parsing/job.rb +93 -0
- data/lib/mindee/v2/parsing/job_response.rb +30 -0
- data/lib/mindee/v2/parsing/job_webhook.rb +59 -0
- data/lib/mindee/v2/parsing/rag_metadata.rb +17 -0
- data/lib/mindee/v2/parsing/raw_text.rb +27 -0
- data/lib/mindee/v2/parsing/raw_text_page.rb +24 -0
- data/lib/mindee/v2/parsing/search/pagination_metadata.rb +44 -0
- data/lib/mindee/v2/parsing/search/search_model.rb +38 -0
- data/lib/mindee/v2/parsing/search/search_models.rb +34 -0
- data/lib/mindee/v2/parsing/search/search_response.rb +38 -0
- data/lib/mindee/v2/parsing/search.rb +6 -0
- data/lib/mindee/v2/parsing.rb +16 -0
- data/lib/mindee/v2/product/base_product.rb +28 -0
- data/lib/mindee/v2/product/classification/classification.rb +20 -0
- data/lib/mindee/v2/product/classification/classification_classifier.rb +25 -0
- data/lib/mindee/v2/product/classification/classification_inference.rb +35 -0
- data/lib/mindee/v2/product/classification/classification_response.rb +32 -0
- data/lib/mindee/v2/product/classification/classification_result.rb +27 -0
- data/lib/mindee/v2/product/classification/params/classification_parameters.rb +47 -0
- data/lib/mindee/v2/product/crop/crop.rb +20 -0
- data/lib/mindee/v2/product/crop/crop_inference.rb +34 -0
- data/lib/mindee/v2/product/crop/crop_item.rb +39 -0
- data/lib/mindee/v2/product/crop/crop_response.rb +40 -0
- data/lib/mindee/v2/product/crop/crop_result.rb +34 -0
- data/lib/mindee/v2/product/crop/params/crop_parameters.rb +47 -0
- data/lib/mindee/v2/product/extraction/extraction.rb +21 -0
- data/lib/mindee/v2/product/extraction/extraction_inference.rb +40 -0
- data/lib/mindee/v2/product/extraction/extraction_response.rb +32 -0
- data/lib/mindee/v2/product/extraction/extraction_result.rb +44 -0
- data/lib/mindee/v2/product/extraction/params/data_schema.rb +51 -0
- data/lib/mindee/v2/product/extraction/params/data_schema_field.rb +69 -0
- data/lib/mindee/v2/product/extraction/params/data_schema_replace.rb +39 -0
- data/lib/mindee/v2/product/extraction/params/extraction_parameters.rb +125 -0
- data/lib/mindee/v2/product/ocr/ocr.rb +20 -0
- data/lib/mindee/v2/product/ocr/ocr_inference.rb +34 -0
- data/lib/mindee/v2/product/ocr/ocr_page.rb +33 -0
- data/lib/mindee/v2/product/ocr/ocr_response.rb +32 -0
- data/lib/mindee/v2/product/ocr/ocr_result.rb +34 -0
- data/lib/mindee/v2/product/ocr/ocr_word.rb +29 -0
- data/lib/mindee/v2/product/ocr/params/ocr_parameters.rb +47 -0
- data/lib/mindee/v2/product/split/params/split_parameters.rb +48 -0
- data/lib/mindee/v2/product/split/split.rb +19 -0
- data/lib/mindee/v2/product/split/split_inference.rb +34 -0
- data/lib/mindee/v2/product/split/split_range.rb +38 -0
- data/lib/mindee/v2/product/split/split_response.rb +40 -0
- data/lib/mindee/v2/product/split/split_result.rb +34 -0
- data/lib/mindee/v2/product.rb +7 -0
- data/lib/mindee/v2.rb +7 -0
- data/lib/mindee/version.rb +26 -0
- data/lib/mindee.rb +135 -0
- data/mindee-lite.gemspec +36 -0
- data/mindee.gemspec +44 -0
- data/sig/custom/marcel.rbs +3 -0
- data/sig/custom/mini_magick.rbs +31 -0
- data/sig/custom/net_http.rbs +43 -0
- data/sig/custom/origami.rbs +59 -0
- data/sig/mindee/dependency.rbs +13 -0
- data/sig/mindee/error/mindee_error.rbs +13 -0
- data/sig/mindee/error/mindee_http_error.rbs +17 -0
- data/sig/mindee/error/mindee_http_error_v2.rbs +15 -0
- data/sig/mindee/error/mindee_http_unknown_error_v2.rbs +9 -0
- data/sig/mindee/error/mindee_input_error.rbs +18 -0
- data/sig/mindee/geometry/min_max.rbs +11 -0
- data/sig/mindee/geometry/point.rbs +14 -0
- data/sig/mindee/geometry/polygon.rbs +12 -0
- data/sig/mindee/geometry/quadrilateral.rbs +15 -0
- data/sig/mindee/geometry/utils.rbs +13 -0
- data/sig/mindee/http/http_error_handler.rbs +15 -0
- data/sig/mindee/http/response_validation.rbs +11 -0
- data/sig/mindee/image/extracted_image.rbs +21 -0
- data/sig/mindee/image/image_compressor.rbs +8 -0
- data/sig/mindee/image/image_extractor.rbs +13 -0
- data/sig/mindee/image/image_utils.rbs +19 -0
- data/sig/mindee/input/base_parameters.rbs +35 -0
- data/sig/mindee/input/local_response.rbs +14 -0
- data/sig/mindee/input/polling_options.rbs +12 -0
- data/sig/mindee/input/sources/base64_input_source.rbs +11 -0
- data/sig/mindee/input/sources/bytes_input_source.rbs +10 -0
- data/sig/mindee/input/sources/file_input_source.rbs +10 -0
- data/sig/mindee/input/sources/local_input_source.rbs +30 -0
- data/sig/mindee/input/sources/path_input_source.rbs +10 -0
- data/sig/mindee/input/sources/url_input_source.rbs +20 -0
- data/sig/mindee/logging/logger.rbs +11 -0
- data/sig/mindee/page_options.rbs +11 -0
- data/sig/mindee/pdf/extracted_pdf.rbs +17 -0
- data/sig/mindee/pdf/pdf_compressor.rbs +15 -0
- data/sig/mindee/pdf/pdf_extractor.rbs +19 -0
- data/sig/mindee/pdf/pdf_processor.rbs +12 -0
- data/sig/mindee/pdf/pdf_tools.rbs +31 -0
- data/sig/mindee/v1/client.rbs +84 -0
- data/sig/mindee/v1/extraction/multi_receipts_extractor.rbs +8 -0
- data/sig/mindee/v1/http/endpoint.rbs +41 -0
- data/sig/mindee/v1/http/workflow_endpoint.rbs +22 -0
- data/sig/mindee/v1/parsing/common/api_request.rbs +22 -0
- data/sig/mindee/v1/parsing/common/api_response.rbs +31 -0
- data/sig/mindee/v1/parsing/common/document.rbs +32 -0
- data/sig/mindee/v1/parsing/common/execution.rbs +26 -0
- data/sig/mindee/v1/parsing/common/execution_file.rbs +16 -0
- data/sig/mindee/v1/parsing/common/execution_priority.rbs +16 -0
- data/sig/mindee/v1/parsing/common/extras/cropper_extra.rbs +18 -0
- data/sig/mindee/v1/parsing/common/extras/extras.rbs +24 -0
- data/sig/mindee/v1/parsing/common/extras/full_text_ocr_extra.rbs +22 -0
- data/sig/mindee/v1/parsing/common/extras/rag_extra.rbs +19 -0
- data/sig/mindee/v1/parsing/common/inference.rbs +31 -0
- data/sig/mindee/v1/parsing/common/job.rbs +24 -0
- data/sig/mindee/v1/parsing/common/ocr/mvision_v1.rbs +20 -0
- data/sig/mindee/v1/parsing/common/ocr/ocr.rbs +56 -0
- data/sig/mindee/v1/parsing/common/orientation.rbs +15 -0
- data/sig/mindee/v1/parsing/common/page.rbs +19 -0
- data/sig/mindee/v1/parsing/common/prediction.rbs +14 -0
- data/sig/mindee/v1/parsing/common/product.rbs +16 -0
- data/sig/mindee/v1/parsing/common/workflow_response.rbs +22 -0
- data/sig/mindee/v1/parsing/standard/abstract_field.rbs +30 -0
- data/sig/mindee/v1/parsing/standard/address_field.rbs +28 -0
- data/sig/mindee/v1/parsing/standard/amount_field.rbs +16 -0
- data/sig/mindee/v1/parsing/standard/base_field.rbs +16 -0
- data/sig/mindee/v1/parsing/standard/boolean_field.rbs +16 -0
- data/sig/mindee/v1/parsing/standard/classification_field.rbs +12 -0
- data/sig/mindee/v1/parsing/standard/company_registration_field.rbs +20 -0
- data/sig/mindee/v1/parsing/standard/date_field.rbs +20 -0
- data/sig/mindee/v1/parsing/standard/feature_field.rbs +12 -0
- data/sig/mindee/v1/parsing/standard/locale_field.rbs +24 -0
- data/sig/mindee/v1/parsing/standard/payment_details_field.rbs +19 -0
- data/sig/mindee/v1/parsing/standard/position_field.rbs +26 -0
- data/sig/mindee/v1/parsing/standard/string_field.rbs +16 -0
- data/sig/mindee/v1/parsing/standard/tax_field.rbs +33 -0
- data/sig/mindee/v1/parsing/universal/universal_list_field.rbs +21 -0
- data/sig/mindee/v1/parsing/universal/universal_object_field.rbs +38 -0
- data/sig/mindee/v1/product/barcode_reader/barcode_reader_v1.rbs +13 -0
- data/sig/mindee/v1/product/barcode_reader/barcode_reader_v1_document.rbs +16 -0
- data/sig/mindee/v1/product/barcode_reader/barcode_reader_v1_page.rbs +17 -0
- data/sig/mindee/v1/product/cropper/cropper_v1.rbs +13 -0
- data/sig/mindee/v1/product/cropper/cropper_v1_document.rbs +14 -0
- data/sig/mindee/v1/product/cropper/cropper_v1_page.rbs +19 -0
- data/sig/mindee/v1/product/financial_document/financial_document_v1.rbs +13 -0
- data/sig/mindee/v1/product/financial_document/financial_document_v1_document.rbs +49 -0
- data/sig/mindee/v1/product/financial_document/financial_document_v1_line_item.rbs +35 -0
- data/sig/mindee/v1/product/financial_document/financial_document_v1_line_items.rbs +15 -0
- data/sig/mindee/v1/product/financial_document/financial_document_v1_page.rbs +17 -0
- data/sig/mindee/v1/product/fr/bank_account_details/bank_account_details_v1.rbs +15 -0
- data/sig/mindee/v1/product/fr/bank_account_details/bank_account_details_v1_document.rbs +19 -0
- data/sig/mindee/v1/product/fr/bank_account_details/bank_account_details_v1_page.rbs +19 -0
- data/sig/mindee/v1/product/fr/bank_account_details/bank_account_details_v2.rbs +15 -0
- data/sig/mindee/v1/product/fr/bank_account_details/bank_account_details_v2_bban.rbs +25 -0
- data/sig/mindee/v1/product/fr/bank_account_details/bank_account_details_v2_document.rbs +20 -0
- data/sig/mindee/v1/product/fr/bank_account_details/bank_account_details_v2_page.rbs +19 -0
- data/sig/mindee/v1/product/fr/bank_statement/bank_statement_v2.rbs +15 -0
- data/sig/mindee/v1/product/fr/bank_statement/bank_statement_v2_document.rbs +31 -0
- data/sig/mindee/v1/product/fr/bank_statement/bank_statement_v2_page.rbs +19 -0
- data/sig/mindee/v1/product/fr/bank_statement/bank_statement_v2_transaction.rbs +27 -0
- data/sig/mindee/v1/product/fr/bank_statement/bank_statement_v2_transactions.rbs +17 -0
- data/sig/mindee/v1/product/fr/id_card/id_card_v1.rbs +15 -0
- data/sig/mindee/v1/product/fr/id_card/id_card_v1_document.rbs +26 -0
- data/sig/mindee/v1/product/fr/id_card/id_card_v1_page.rbs +20 -0
- data/sig/mindee/v1/product/fr/id_card/id_card_v2.rbs +15 -0
- data/sig/mindee/v1/product/fr/id_card/id_card_v2_document.rbs +31 -0
- data/sig/mindee/v1/product/fr/id_card/id_card_v2_page.rbs +21 -0
- data/sig/mindee/v1/product/international_id/international_id_v2.rbs +13 -0
- data/sig/mindee/v1/product/international_id/international_id_v2_document.rbs +31 -0
- data/sig/mindee/v1/product/international_id/international_id_v2_page.rbs +17 -0
- data/sig/mindee/v1/product/invoice/invoice_v4.rbs +13 -0
- data/sig/mindee/v1/product/invoice/invoice_v4_document.rbs +45 -0
- data/sig/mindee/v1/product/invoice/invoice_v4_line_item.rbs +35 -0
- data/sig/mindee/v1/product/invoice/invoice_v4_line_items.rbs +15 -0
- data/sig/mindee/v1/product/invoice/invoice_v4_page.rbs +17 -0
- data/sig/mindee/v1/product/invoice_splitter/invoice_splitter_v1.rbs +13 -0
- data/sig/mindee/v1/product/invoice_splitter/invoice_splitter_v1_document.rbs +17 -0
- data/sig/mindee/v1/product/invoice_splitter/invoice_splitter_v1_invoice_page_group.rbs +21 -0
- data/sig/mindee/v1/product/invoice_splitter/invoice_splitter_v1_invoice_page_groups.rbs +15 -0
- data/sig/mindee/v1/product/invoice_splitter/invoice_splitter_v1_page.rbs +17 -0
- data/sig/mindee/v1/product/multi_receipts_detector/multi_receipts_detector_v1.rbs +14 -0
- data/sig/mindee/v1/product/multi_receipts_detector/multi_receipts_detector_v1_document.rbs +15 -0
- data/sig/mindee/v1/product/multi_receipts_detector/multi_receipts_detector_v1_page.rbs +17 -0
- data/sig/mindee/v1/product/passport/passport_v1.rbs +13 -0
- data/sig/mindee/v1/product/passport/passport_v1_document.rbs +25 -0
- data/sig/mindee/v1/product/passport/passport_v1_page.rbs +17 -0
- data/sig/mindee/v1/product/receipt/receipt_v5.rbs +13 -0
- data/sig/mindee/v1/product/receipt/receipt_v5_document.rbs +33 -0
- data/sig/mindee/v1/product/receipt/receipt_v5_line_item.rbs +27 -0
- data/sig/mindee/v1/product/receipt/receipt_v5_line_items.rbs +15 -0
- data/sig/mindee/v1/product/receipt/receipt_v5_page.rbs +17 -0
- data/sig/mindee/v1/product/resume/resume_v1.rbs +13 -0
- data/sig/mindee/v1/product/resume/resume_v1_certificate.rbs +27 -0
- data/sig/mindee/v1/product/resume/resume_v1_certificates.rbs +17 -0
- data/sig/mindee/v1/product/resume/resume_v1_document.rbs +69 -0
- data/sig/mindee/v1/product/resume/resume_v1_education.rbs +33 -0
- data/sig/mindee/v1/product/resume/resume_v1_educations.rbs +17 -0
- data/sig/mindee/v1/product/resume/resume_v1_language.rbs +23 -0
- data/sig/mindee/v1/product/resume/resume_v1_languages.rbs +17 -0
- data/sig/mindee/v1/product/resume/resume_v1_page.rbs +19 -0
- data/sig/mindee/v1/product/resume/resume_v1_professional_experience.rbs +37 -0
- data/sig/mindee/v1/product/resume/resume_v1_professional_experiences.rbs +17 -0
- data/sig/mindee/v1/product/resume/resume_v1_social_networks_url.rbs +23 -0
- data/sig/mindee/v1/product/resume/resume_v1_social_networks_urls.rbs +17 -0
- data/sig/mindee/v1/product/universal/universal.rbs +16 -0
- data/sig/mindee/v1/product/universal/universal_document.rbs +12 -0
- data/sig/mindee/v1/product/universal/universal_page.rbs +18 -0
- data/sig/mindee/v1/product/universal/universal_prediction.rbs +30 -0
- data/sig/mindee/v2/client.rbs +29 -0
- data/sig/mindee/v2/file_operation/crop.rbs +10 -0
- data/sig/mindee/v2/file_operation/crop_files.rbs +9 -0
- data/sig/mindee/v2/file_operation/split.rbs +11 -0
- data/sig/mindee/v2/file_operation/split_files.rbs +9 -0
- data/sig/mindee/v2/http/api_v2_settings.rbs +27 -0
- data/sig/mindee/v2/http/mindee_api_v2.rbs +52 -0
- data/sig/mindee/v2/parsing/base_inference.rbs +18 -0
- data/sig/mindee/v2/parsing/base_response.rbs +11 -0
- data/sig/mindee/v2/parsing/common_response.rbs +12 -0
- data/sig/mindee/v2/parsing/error_item.rbs +13 -0
- data/sig/mindee/v2/parsing/error_response.rbs +20 -0
- data/sig/mindee/v2/parsing/field/base_field.rbs +17 -0
- data/sig/mindee/v2/parsing/field/field_confidence.rbs +30 -0
- data/sig/mindee/v2/parsing/field/field_location.rbs +16 -0
- data/sig/mindee/v2/parsing/field/inference_fields.rbs +20 -0
- data/sig/mindee/v2/parsing/field/list_field.rbs +23 -0
- data/sig/mindee/v2/parsing/field/object_field.rbs +27 -0
- data/sig/mindee/v2/parsing/field/simple_field.rbs +16 -0
- data/sig/mindee/v2/parsing/inference_active_options.rbs +26 -0
- data/sig/mindee/v2/parsing/inference_file.rbs +17 -0
- data/sig/mindee/v2/parsing/inference_job.rbs +13 -0
- data/sig/mindee/v2/parsing/inference_model.rbs +12 -0
- data/sig/mindee/v2/parsing/job.rbs +24 -0
- data/sig/mindee/v2/parsing/job_response.rbs +14 -0
- data/sig/mindee/v2/parsing/job_webhook.rbs +19 -0
- data/sig/mindee/v2/parsing/rag_metadata.rbs +13 -0
- data/sig/mindee/v2/parsing/raw_text.rbs +12 -0
- data/sig/mindee/v2/parsing/raw_text_page.rbs +11 -0
- data/sig/mindee/v2/parsing/search/pagination_metadata.rbs +20 -0
- data/sig/mindee/v2/parsing/search/search_model.rbs +19 -0
- data/sig/mindee/v2/parsing/search/search_response.rbs +17 -0
- data/sig/mindee/v2/parsing/search_models.rbs +14 -0
- data/sig/mindee/v2/product/base_product.rbs +19 -0
- data/sig/mindee/v2/product/classification/classification.rbs +10 -0
- data/sig/mindee/v2/product/classification/classification_classifier.rbs +15 -0
- data/sig/mindee/v2/product/classification/classification_inference.rbs +15 -0
- data/sig/mindee/v2/product/classification/classification_response.rbs +23 -0
- data/sig/mindee/v2/product/classification/classification_result.rbs +15 -0
- data/sig/mindee/v2/product/classification/params/classification_parameters/classification_parameters.rbs +23 -0
- data/sig/mindee/v2/product/crop/crop.rbs +10 -0
- data/sig/mindee/v2/product/crop/crop_inference.rbs +14 -0
- data/sig/mindee/v2/product/crop/crop_item.rbs +18 -0
- data/sig/mindee/v2/product/crop/crop_response.rbs +25 -0
- data/sig/mindee/v2/product/crop/crop_result.rbs +14 -0
- data/sig/mindee/v2/product/crop/params/crop_parameters/crop_parameters.rbs +23 -0
- data/sig/mindee/v2/product/extraction/extraction.rbs +15 -0
- data/sig/mindee/v2/product/extraction/extraction_inference.rbs +19 -0
- data/sig/mindee/v2/product/extraction/extraction_response.rbs +24 -0
- data/sig/mindee/v2/product/extraction/extraction_result.rbs +18 -0
- data/sig/mindee/v2/product/extraction/params/data_schema.rbs +21 -0
- data/sig/mindee/v2/product/extraction/params/data_schema_field.rbs +29 -0
- data/sig/mindee/v2/product/extraction/params/data_schema_replace.rbs +21 -0
- data/sig/mindee/v2/product/extraction/params/extraction_parameters.rbs +38 -0
- data/sig/mindee/v2/product/ocr/ocr.rbs +10 -0
- data/sig/mindee/v2/product/ocr/ocr_inference.rbs +14 -0
- data/sig/mindee/v2/product/ocr/ocr_page.rbs +15 -0
- data/sig/mindee/v2/product/ocr/ocr_response.rbs +23 -0
- data/sig/mindee/v2/product/ocr/ocr_result.rbs +14 -0
- data/sig/mindee/v2/product/ocr/ocr_word.rbs +15 -0
- data/sig/mindee/v2/product/ocr/params/ocr_parameters/ocr_parameters.rbs +24 -0
- data/sig/mindee/v2/product/split/params/split_parameters/split_parameters.rbs +23 -0
- data/sig/mindee/v2/product/split/split.rbs +10 -0
- data/sig/mindee/v2/product/split/split_inference.rbs +14 -0
- data/sig/mindee/v2/product/split/split_range.rbs +18 -0
- data/sig/mindee/v2/product/split/split_response.rbs +25 -0
- data/sig/mindee/v2/product/split/split_result.rbs +14 -0
- data/sig/mindee/version.rbs +6 -0
- data/sig/mindee.rbs +62 -0
- metadata +600 -0
|
@@ -0,0 +1,329 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative '../../parsing'
|
|
4
|
+
require_relative 'financial_document_v1_line_items'
|
|
5
|
+
|
|
6
|
+
module Mindee
|
|
7
|
+
module V1
|
|
8
|
+
module Product
|
|
9
|
+
module FinancialDocument
|
|
10
|
+
# Financial Document API version 1.14 document data.
|
|
11
|
+
class FinancialDocumentV1Document < Mindee::V1::Parsing::Common::Prediction
|
|
12
|
+
include Mindee::V1::Parsing::Standard
|
|
13
|
+
|
|
14
|
+
# The customer's address used for billing.
|
|
15
|
+
# @return [Mindee::V1::Parsing::Standard::AddressField]
|
|
16
|
+
attr_reader :billing_address
|
|
17
|
+
# The purchase category.
|
|
18
|
+
# @return [Mindee::V1::Parsing::Standard::ClassificationField]
|
|
19
|
+
attr_reader :category
|
|
20
|
+
# The address of the customer.
|
|
21
|
+
# @return [Mindee::V1::Parsing::Standard::AddressField]
|
|
22
|
+
attr_reader :customer_address
|
|
23
|
+
# List of company registration numbers associated to the customer.
|
|
24
|
+
# @return [Array<Mindee::V1::Parsing::Standard::CompanyRegistrationField>]
|
|
25
|
+
attr_reader :customer_company_registrations
|
|
26
|
+
# The customer account number or identifier from the supplier.
|
|
27
|
+
# @return [Mindee::V1::Parsing::Standard::StringField]
|
|
28
|
+
attr_reader :customer_id
|
|
29
|
+
# The name of the customer.
|
|
30
|
+
# @return [Mindee::V1::Parsing::Standard::StringField]
|
|
31
|
+
attr_reader :customer_name
|
|
32
|
+
# The date the purchase was made.
|
|
33
|
+
# @return [Mindee::V1::Parsing::Standard::DateField]
|
|
34
|
+
attr_reader :date
|
|
35
|
+
# The document number or identifier (invoice number or receipt number).
|
|
36
|
+
# @return [Mindee::V1::Parsing::Standard::StringField]
|
|
37
|
+
attr_reader :document_number
|
|
38
|
+
# The type of the document: INVOICE or CREDIT NOTE if it is an invoice, CREDIT CARD RECEIPT or EXPENSE
|
|
39
|
+
# RECEIPT if it is a receipt.
|
|
40
|
+
# @return [Mindee::V1::Parsing::Standard::ClassificationField]
|
|
41
|
+
attr_reader :document_type
|
|
42
|
+
# Document type extended.
|
|
43
|
+
# @return [Mindee::V1::Parsing::Standard::ClassificationField]
|
|
44
|
+
attr_reader :document_type_extended
|
|
45
|
+
# The date on which the payment is due.
|
|
46
|
+
# @return [Mindee::V1::Parsing::Standard::DateField]
|
|
47
|
+
attr_reader :due_date
|
|
48
|
+
# The invoice number or identifier only if document is an invoice.
|
|
49
|
+
# @return [Mindee::V1::Parsing::Standard::StringField]
|
|
50
|
+
attr_reader :invoice_number
|
|
51
|
+
# List of line item present on the document.
|
|
52
|
+
# @return [Mindee::V1::Product::FinancialDocument::FinancialDocumentV1LineItems]
|
|
53
|
+
attr_reader :line_items
|
|
54
|
+
# The locale of the document.
|
|
55
|
+
# @return [Mindee::V1::Parsing::Standard::LocaleField]
|
|
56
|
+
attr_reader :locale
|
|
57
|
+
# The date on which the payment is due / fullfilled.
|
|
58
|
+
# @return [Mindee::V1::Parsing::Standard::DateField]
|
|
59
|
+
attr_reader :payment_date
|
|
60
|
+
# The purchase order number, only if the document is an invoice.
|
|
61
|
+
# @return [Mindee::V1::Parsing::Standard::StringField]
|
|
62
|
+
attr_reader :po_number
|
|
63
|
+
# The receipt number or identifier only if document is a receipt.
|
|
64
|
+
# @return [Mindee::V1::Parsing::Standard::StringField]
|
|
65
|
+
attr_reader :receipt_number
|
|
66
|
+
# List of Reference numbers, including PO number, only if the document is an invoice.
|
|
67
|
+
# @return [Array<Mindee::V1::Parsing::Standard::StringField>]
|
|
68
|
+
attr_reader :reference_numbers
|
|
69
|
+
# The customer's address used for shipping.
|
|
70
|
+
# @return [Mindee::V1::Parsing::Standard::AddressField]
|
|
71
|
+
attr_reader :shipping_address
|
|
72
|
+
# The purchase subcategory for transport, food and shooping.
|
|
73
|
+
# @return [Mindee::V1::Parsing::Standard::ClassificationField]
|
|
74
|
+
attr_reader :subcategory
|
|
75
|
+
# The address of the supplier or merchant.
|
|
76
|
+
# @return [Mindee::V1::Parsing::Standard::AddressField]
|
|
77
|
+
attr_reader :supplier_address
|
|
78
|
+
# List of company registration numbers associated to the supplier.
|
|
79
|
+
# @return [Array<Mindee::V1::Parsing::Standard::CompanyRegistrationField>]
|
|
80
|
+
attr_reader :supplier_company_registrations
|
|
81
|
+
# The email of the supplier or merchant.
|
|
82
|
+
# @return [Mindee::V1::Parsing::Standard::StringField]
|
|
83
|
+
attr_reader :supplier_email
|
|
84
|
+
# The name of the supplier or merchant.
|
|
85
|
+
# @return [Mindee::V1::Parsing::Standard::StringField]
|
|
86
|
+
attr_reader :supplier_name
|
|
87
|
+
# List of payment details associated to the supplier (only for invoices).
|
|
88
|
+
# @return [Array<Mindee::V1::Parsing::Standard::PaymentDetailsField>]
|
|
89
|
+
attr_reader :supplier_payment_details
|
|
90
|
+
# The phone number of the supplier or merchant.
|
|
91
|
+
# @return [Mindee::V1::Parsing::Standard::StringField]
|
|
92
|
+
attr_reader :supplier_phone_number
|
|
93
|
+
# The website URL of the supplier or merchant.
|
|
94
|
+
# @return [Mindee::V1::Parsing::Standard::StringField]
|
|
95
|
+
attr_reader :supplier_website
|
|
96
|
+
# List of all taxes on the document.
|
|
97
|
+
# @return [Mindee::V1::Parsing::Standard::Taxes]
|
|
98
|
+
attr_reader :taxes
|
|
99
|
+
# The time the purchase was made (only for receipts).
|
|
100
|
+
# @return [Mindee::V1::Parsing::Standard::StringField]
|
|
101
|
+
attr_reader :time
|
|
102
|
+
# The total amount of tip and gratuity
|
|
103
|
+
# @return [Mindee::V1::Parsing::Standard::AmountField]
|
|
104
|
+
attr_reader :tip
|
|
105
|
+
# The total amount paid: includes taxes, tips, fees, and other charges.
|
|
106
|
+
# @return [Mindee::V1::Parsing::Standard::AmountField]
|
|
107
|
+
attr_reader :total_amount
|
|
108
|
+
# The net amount paid: does not include taxes, fees, and discounts.
|
|
109
|
+
# @return [Mindee::V1::Parsing::Standard::AmountField]
|
|
110
|
+
attr_reader :total_net
|
|
111
|
+
# The sum of all taxes present on the document.
|
|
112
|
+
# @return [Mindee::V1::Parsing::Standard::AmountField]
|
|
113
|
+
attr_reader :total_tax
|
|
114
|
+
|
|
115
|
+
# @param prediction [Hash]
|
|
116
|
+
# @param page_id [Integer, nil]
|
|
117
|
+
def initialize(prediction, page_id)
|
|
118
|
+
super
|
|
119
|
+
@billing_address = Parsing::Standard::AddressField.new(
|
|
120
|
+
prediction['billing_address'],
|
|
121
|
+
page_id
|
|
122
|
+
)
|
|
123
|
+
@category = Parsing::Standard::ClassificationField.new(
|
|
124
|
+
prediction['category'],
|
|
125
|
+
page_id
|
|
126
|
+
)
|
|
127
|
+
@customer_address = Parsing::Standard::AddressField.new(
|
|
128
|
+
prediction['customer_address'],
|
|
129
|
+
page_id
|
|
130
|
+
)
|
|
131
|
+
@customer_company_registrations = [] # : Array[Parsing::Standard::CompanyRegistrationField]
|
|
132
|
+
prediction['customer_company_registrations'].each do |item|
|
|
133
|
+
@customer_company_registrations.push(Parsing::Standard::CompanyRegistrationField.new(item, page_id))
|
|
134
|
+
end
|
|
135
|
+
@customer_id = Parsing::Standard::StringField.new(
|
|
136
|
+
prediction['customer_id'],
|
|
137
|
+
page_id
|
|
138
|
+
)
|
|
139
|
+
@customer_name = Parsing::Standard::StringField.new(
|
|
140
|
+
prediction['customer_name'],
|
|
141
|
+
page_id
|
|
142
|
+
)
|
|
143
|
+
@date = Parsing::Standard::DateField.new(prediction['date'], page_id)
|
|
144
|
+
@document_number = Parsing::Standard::StringField.new(
|
|
145
|
+
prediction['document_number'],
|
|
146
|
+
page_id
|
|
147
|
+
)
|
|
148
|
+
@document_type = Parsing::Standard::ClassificationField.new(
|
|
149
|
+
prediction['document_type'],
|
|
150
|
+
page_id
|
|
151
|
+
)
|
|
152
|
+
@document_type_extended = Parsing::Standard::ClassificationField.new(
|
|
153
|
+
prediction['document_type_extended'],
|
|
154
|
+
page_id
|
|
155
|
+
)
|
|
156
|
+
@due_date = Parsing::Standard::DateField.new(
|
|
157
|
+
prediction['due_date'],
|
|
158
|
+
page_id
|
|
159
|
+
)
|
|
160
|
+
@invoice_number = Parsing::Standard::StringField.new(
|
|
161
|
+
prediction['invoice_number'],
|
|
162
|
+
page_id
|
|
163
|
+
)
|
|
164
|
+
@line_items = Product::FinancialDocument::FinancialDocumentV1LineItems.new(
|
|
165
|
+
prediction['line_items'], page_id
|
|
166
|
+
)
|
|
167
|
+
@locale = Parsing::Standard::LocaleField.new(
|
|
168
|
+
prediction['locale'],
|
|
169
|
+
page_id
|
|
170
|
+
)
|
|
171
|
+
@payment_date = Parsing::Standard::DateField.new(
|
|
172
|
+
prediction['payment_date'],
|
|
173
|
+
page_id
|
|
174
|
+
)
|
|
175
|
+
@po_number = Parsing::Standard::StringField.new(
|
|
176
|
+
prediction['po_number'],
|
|
177
|
+
page_id
|
|
178
|
+
)
|
|
179
|
+
@receipt_number = Parsing::Standard::StringField.new(
|
|
180
|
+
prediction['receipt_number'],
|
|
181
|
+
page_id
|
|
182
|
+
)
|
|
183
|
+
@reference_numbers = [] # : Array[Parsing::Standard::StringField]
|
|
184
|
+
prediction['reference_numbers'].each do |item|
|
|
185
|
+
@reference_numbers.push(Parsing::Standard::StringField.new(item, page_id))
|
|
186
|
+
end
|
|
187
|
+
@shipping_address = Parsing::Standard::AddressField.new(
|
|
188
|
+
prediction['shipping_address'],
|
|
189
|
+
page_id
|
|
190
|
+
)
|
|
191
|
+
@subcategory = Parsing::Standard::ClassificationField.new(
|
|
192
|
+
prediction['subcategory'],
|
|
193
|
+
page_id
|
|
194
|
+
)
|
|
195
|
+
@supplier_address = Parsing::Standard::AddressField.new(
|
|
196
|
+
prediction['supplier_address'],
|
|
197
|
+
page_id
|
|
198
|
+
)
|
|
199
|
+
@supplier_company_registrations = [] # : Array[Parsing::Standard::CompanyRegistrationField]
|
|
200
|
+
prediction['supplier_company_registrations'].each do |item|
|
|
201
|
+
@supplier_company_registrations.push(Parsing::Standard::CompanyRegistrationField.new(item, page_id))
|
|
202
|
+
end
|
|
203
|
+
@supplier_email = Parsing::Standard::StringField.new(
|
|
204
|
+
prediction['supplier_email'],
|
|
205
|
+
page_id
|
|
206
|
+
)
|
|
207
|
+
@supplier_name = Parsing::Standard::StringField.new(
|
|
208
|
+
prediction['supplier_name'],
|
|
209
|
+
page_id
|
|
210
|
+
)
|
|
211
|
+
@supplier_payment_details = [] # : Array[Parsing::Standard::PaymentDetailsField]
|
|
212
|
+
prediction['supplier_payment_details'].each do |item|
|
|
213
|
+
@supplier_payment_details.push(Parsing::Standard::PaymentDetailsField.new(item, page_id))
|
|
214
|
+
end
|
|
215
|
+
@supplier_phone_number = Parsing::Standard::StringField.new(
|
|
216
|
+
prediction['supplier_phone_number'],
|
|
217
|
+
page_id
|
|
218
|
+
)
|
|
219
|
+
@supplier_website = Parsing::Standard::StringField.new(
|
|
220
|
+
prediction['supplier_website'],
|
|
221
|
+
page_id
|
|
222
|
+
)
|
|
223
|
+
@taxes = Parsing::Standard::Taxes.new(prediction['taxes'], page_id)
|
|
224
|
+
@time = Parsing::Standard::StringField.new(prediction['time'], page_id)
|
|
225
|
+
@tip = Parsing::Standard::AmountField.new(prediction['tip'], page_id)
|
|
226
|
+
@total_amount = Parsing::Standard::AmountField.new(
|
|
227
|
+
prediction['total_amount'],
|
|
228
|
+
page_id
|
|
229
|
+
)
|
|
230
|
+
@total_net = Parsing::Standard::AmountField.new(
|
|
231
|
+
prediction['total_net'],
|
|
232
|
+
page_id
|
|
233
|
+
)
|
|
234
|
+
@total_tax = Parsing::Standard::AmountField.new(
|
|
235
|
+
prediction['total_tax'],
|
|
236
|
+
page_id
|
|
237
|
+
)
|
|
238
|
+
end
|
|
239
|
+
|
|
240
|
+
# @return [String]
|
|
241
|
+
def to_s
|
|
242
|
+
reference_numbers = @reference_numbers.join("\n #{' ' * 19}")
|
|
243
|
+
supplier_payment_details = @supplier_payment_details.join("\n #{' ' * 26}")
|
|
244
|
+
supplier_company_registrations = @supplier_company_registrations.join("\n #{' ' * 32}")
|
|
245
|
+
customer_company_registrations = @customer_company_registrations.join("\n #{' ' * 32}")
|
|
246
|
+
line_items = line_items_to_s
|
|
247
|
+
out_str = String.new
|
|
248
|
+
out_str << "\n:Locale: #{@locale}".rstrip
|
|
249
|
+
out_str << "\n:Invoice Number: #{@invoice_number}".rstrip
|
|
250
|
+
out_str << "\n:Purchase Order Number: #{@po_number}".rstrip
|
|
251
|
+
out_str << "\n:Receipt Number: #{@receipt_number}".rstrip
|
|
252
|
+
out_str << "\n:Document Number: #{@document_number}".rstrip
|
|
253
|
+
out_str << "\n:Reference Numbers: #{reference_numbers}".rstrip
|
|
254
|
+
out_str << "\n:Purchase Date: #{@date}".rstrip
|
|
255
|
+
out_str << "\n:Due Date: #{@due_date}".rstrip
|
|
256
|
+
out_str << "\n:Payment Date: #{@payment_date}".rstrip
|
|
257
|
+
out_str << "\n:Total Net: #{@total_net}".rstrip
|
|
258
|
+
out_str << "\n:Total Amount: #{@total_amount}".rstrip
|
|
259
|
+
out_str << "\n:Taxes:#{@taxes}".rstrip
|
|
260
|
+
out_str << "\n:Supplier Payment Details: #{supplier_payment_details}".rstrip
|
|
261
|
+
out_str << "\n:Supplier Name: #{@supplier_name}".rstrip
|
|
262
|
+
out_str << "\n:Supplier Company Registrations: #{supplier_company_registrations}".rstrip
|
|
263
|
+
out_str << "\n:Supplier Address: #{@supplier_address}".rstrip
|
|
264
|
+
out_str << "\n:Supplier Phone Number: #{@supplier_phone_number}".rstrip
|
|
265
|
+
out_str << "\n:Customer Name: #{@customer_name}".rstrip
|
|
266
|
+
out_str << "\n:Supplier Website: #{@supplier_website}".rstrip
|
|
267
|
+
out_str << "\n:Supplier Email: #{@supplier_email}".rstrip
|
|
268
|
+
out_str << "\n:Customer Company Registrations: #{customer_company_registrations}".rstrip
|
|
269
|
+
out_str << "\n:Customer Address: #{@customer_address}".rstrip
|
|
270
|
+
out_str << "\n:Customer ID: #{@customer_id}".rstrip
|
|
271
|
+
out_str << "\n:Shipping Address: #{@shipping_address}".rstrip
|
|
272
|
+
out_str << "\n:Billing Address: #{@billing_address}".rstrip
|
|
273
|
+
out_str << "\n:Document Type: #{@document_type}".rstrip
|
|
274
|
+
out_str << "\n:Document Type Extended: #{@document_type_extended}".rstrip
|
|
275
|
+
out_str << "\n:Purchase Subcategory: #{@subcategory}".rstrip
|
|
276
|
+
out_str << "\n:Purchase Category: #{@category}".rstrip
|
|
277
|
+
out_str << "\n:Total Tax: #{@total_tax}".rstrip
|
|
278
|
+
out_str << "\n:Tip and Gratuity: #{@tip}".rstrip
|
|
279
|
+
out_str << "\n:Purchase Time: #{@time}".rstrip
|
|
280
|
+
out_str << "\n:Line Items:"
|
|
281
|
+
out_str << line_items
|
|
282
|
+
out_str[1..].to_s
|
|
283
|
+
end
|
|
284
|
+
|
|
285
|
+
private
|
|
286
|
+
|
|
287
|
+
# @param char [String]
|
|
288
|
+
# @return [String]
|
|
289
|
+
def line_items_separator(char)
|
|
290
|
+
out_str = String.new
|
|
291
|
+
out_str << ' '
|
|
292
|
+
out_str << "+#{char * 38}"
|
|
293
|
+
out_str << "+#{char * 14}"
|
|
294
|
+
out_str << "+#{char * 10}"
|
|
295
|
+
out_str << "+#{char * 12}"
|
|
296
|
+
out_str << "+#{char * 14}"
|
|
297
|
+
out_str << "+#{char * 14}"
|
|
298
|
+
out_str << "+#{char * 17}"
|
|
299
|
+
out_str << "+#{char * 12}"
|
|
300
|
+
out_str << '+'
|
|
301
|
+
out_str
|
|
302
|
+
end
|
|
303
|
+
|
|
304
|
+
# @return [String]
|
|
305
|
+
def line_items_to_s
|
|
306
|
+
return '' if @line_items.empty?
|
|
307
|
+
|
|
308
|
+
line_items = @line_items.map(&:to_table_line).join("\n#{line_items_separator('-')}\n ")
|
|
309
|
+
out_str = String.new
|
|
310
|
+
out_str << "\n#{line_items_separator('-')}"
|
|
311
|
+
out_str << "\n |"
|
|
312
|
+
out_str << ' Description |'
|
|
313
|
+
out_str << ' Product code |'
|
|
314
|
+
out_str << ' Quantity |'
|
|
315
|
+
out_str << ' Tax Amount |'
|
|
316
|
+
out_str << ' Tax Rate (%) |'
|
|
317
|
+
out_str << ' Total Amount |'
|
|
318
|
+
out_str << ' Unit of measure |'
|
|
319
|
+
out_str << ' Unit Price |'
|
|
320
|
+
out_str << "\n#{line_items_separator('=')}"
|
|
321
|
+
out_str << "\n #{line_items}"
|
|
322
|
+
out_str << "\n#{line_items_separator('-')}"
|
|
323
|
+
out_str
|
|
324
|
+
end
|
|
325
|
+
end
|
|
326
|
+
end
|
|
327
|
+
end
|
|
328
|
+
end
|
|
329
|
+
end
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative '../../parsing'
|
|
4
|
+
|
|
5
|
+
module Mindee
|
|
6
|
+
module V1
|
|
7
|
+
module Product
|
|
8
|
+
module FinancialDocument
|
|
9
|
+
# List of line item present on the document.
|
|
10
|
+
class FinancialDocumentV1LineItem < Mindee::V1::Parsing::Standard::FeatureField
|
|
11
|
+
include Mindee::V1::Parsing::Standard
|
|
12
|
+
|
|
13
|
+
# The item description.
|
|
14
|
+
# @return [String]
|
|
15
|
+
attr_reader :description
|
|
16
|
+
# The product code referring to the item.
|
|
17
|
+
# @return [String]
|
|
18
|
+
attr_reader :product_code
|
|
19
|
+
# The item quantity
|
|
20
|
+
# @return [Float]
|
|
21
|
+
attr_reader :quantity
|
|
22
|
+
# The item tax amount.
|
|
23
|
+
# @return [Float]
|
|
24
|
+
attr_reader :tax_amount
|
|
25
|
+
# The item tax rate in percentage.
|
|
26
|
+
# @return [Float]
|
|
27
|
+
attr_reader :tax_rate
|
|
28
|
+
# The item total amount.
|
|
29
|
+
# @return [Float]
|
|
30
|
+
attr_reader :total_amount
|
|
31
|
+
# The item unit of measure.
|
|
32
|
+
# @return [String]
|
|
33
|
+
attr_reader :unit_measure
|
|
34
|
+
# The item unit price.
|
|
35
|
+
# @return [Float]
|
|
36
|
+
attr_reader :unit_price
|
|
37
|
+
|
|
38
|
+
# @param prediction [Hash]
|
|
39
|
+
# @param page_id [Integer, nil]
|
|
40
|
+
def initialize(prediction, page_id)
|
|
41
|
+
super
|
|
42
|
+
@description = prediction['description']
|
|
43
|
+
@product_code = prediction['product_code']
|
|
44
|
+
@quantity = prediction['quantity']
|
|
45
|
+
@tax_amount = prediction['tax_amount']
|
|
46
|
+
@tax_rate = prediction['tax_rate']
|
|
47
|
+
@total_amount = prediction['total_amount']
|
|
48
|
+
@unit_measure = prediction['unit_measure']
|
|
49
|
+
@unit_price = prediction['unit_price']
|
|
50
|
+
@page_id = page_id
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
# @return [Hash]
|
|
54
|
+
def printable_values
|
|
55
|
+
printable = {} # @type var printable: Hash[Symbol, String]
|
|
56
|
+
printable[:description] = format_for_display(@description)
|
|
57
|
+
printable[:product_code] = format_for_display(@product_code)
|
|
58
|
+
printable[:quantity] =
|
|
59
|
+
@quantity.nil? ? '' : Parsing::Standard::BaseField.float_to_string(@quantity)
|
|
60
|
+
printable[:tax_amount] =
|
|
61
|
+
@tax_amount.nil? ? '' : Parsing::Standard::BaseField.float_to_string(@tax_amount)
|
|
62
|
+
printable[:tax_rate] =
|
|
63
|
+
@tax_rate.nil? ? '' : Parsing::Standard::BaseField.float_to_string(@tax_rate)
|
|
64
|
+
printable[:total_amount] =
|
|
65
|
+
@total_amount.nil? ? '' : Parsing::Standard::BaseField.float_to_string(@total_amount)
|
|
66
|
+
printable[:unit_measure] = format_for_display(@unit_measure)
|
|
67
|
+
printable[:unit_price] =
|
|
68
|
+
@unit_price.nil? ? '' : Parsing::Standard::BaseField.float_to_string(@unit_price)
|
|
69
|
+
printable
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
# @return [Hash]
|
|
73
|
+
def table_printable_values
|
|
74
|
+
printable = {} # @type var printable: Hash[Symbol, String]
|
|
75
|
+
printable[:description] = format_for_display(@description, 36)
|
|
76
|
+
printable[:product_code] = format_for_display(@product_code, nil)
|
|
77
|
+
printable[:quantity] =
|
|
78
|
+
@quantity.nil? ? '' : Parsing::Standard::BaseField.float_to_string(@quantity)
|
|
79
|
+
printable[:tax_amount] =
|
|
80
|
+
@tax_amount.nil? ? '' : Parsing::Standard::BaseField.float_to_string(@tax_amount)
|
|
81
|
+
printable[:tax_rate] =
|
|
82
|
+
@tax_rate.nil? ? '' : Parsing::Standard::BaseField.float_to_string(@tax_rate)
|
|
83
|
+
printable[:total_amount] =
|
|
84
|
+
@total_amount.nil? ? '' : Parsing::Standard::BaseField.float_to_string(@total_amount)
|
|
85
|
+
printable[:unit_measure] = format_for_display(@unit_measure, nil)
|
|
86
|
+
printable[:unit_price] =
|
|
87
|
+
@unit_price.nil? ? '' : Parsing::Standard::BaseField.float_to_string(@unit_price)
|
|
88
|
+
printable
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
# @return [String]
|
|
92
|
+
def to_table_line
|
|
93
|
+
printable = table_printable_values
|
|
94
|
+
out_str = String.new
|
|
95
|
+
out_str << format('| %- 37s', printable[:description])
|
|
96
|
+
out_str << format('| %- 13s', printable[:product_code])
|
|
97
|
+
out_str << format('| %- 9s', printable[:quantity])
|
|
98
|
+
out_str << format('| %- 11s', printable[:tax_amount])
|
|
99
|
+
out_str << format('| %- 13s', printable[:tax_rate])
|
|
100
|
+
out_str << format('| %- 13s', printable[:total_amount])
|
|
101
|
+
out_str << format('| %- 16s', printable[:unit_measure])
|
|
102
|
+
out_str << format('| %- 11s', printable[:unit_price])
|
|
103
|
+
out_str << '|'
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
# @return [String]
|
|
107
|
+
def to_s
|
|
108
|
+
printable = printable_values
|
|
109
|
+
out_str = String.new
|
|
110
|
+
out_str << "\n :Description: #{printable[:description]}"
|
|
111
|
+
out_str << "\n :Product code: #{printable[:product_code]}"
|
|
112
|
+
out_str << "\n :Quantity: #{printable[:quantity]}"
|
|
113
|
+
out_str << "\n :Tax Amount: #{printable[:tax_amount]}"
|
|
114
|
+
out_str << "\n :Tax Rate (%): #{printable[:tax_rate]}"
|
|
115
|
+
out_str << "\n :Total Amount: #{printable[:total_amount]}"
|
|
116
|
+
out_str << "\n :Unit of measure: #{printable[:unit_measure]}"
|
|
117
|
+
out_str << "\n :Unit Price: #{printable[:unit_price]}"
|
|
118
|
+
out_str
|
|
119
|
+
end
|
|
120
|
+
end
|
|
121
|
+
end
|
|
122
|
+
end
|
|
123
|
+
end
|
|
124
|
+
end
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative 'financial_document_v1_line_item'
|
|
4
|
+
|
|
5
|
+
module Mindee
|
|
6
|
+
module V1
|
|
7
|
+
module Product
|
|
8
|
+
module FinancialDocument
|
|
9
|
+
# List of line item present on the document.
|
|
10
|
+
class FinancialDocumentV1LineItems < Array
|
|
11
|
+
# Entries.
|
|
12
|
+
# @return [Array<FinancialDocumentV1LineItem>]
|
|
13
|
+
attr_reader :entries
|
|
14
|
+
|
|
15
|
+
# @param prediction [Array]
|
|
16
|
+
# @param page_id [Integer, nil]
|
|
17
|
+
def initialize(prediction, page_id)
|
|
18
|
+
entries = prediction.map do |entry|
|
|
19
|
+
FinancialDocument::FinancialDocumentV1LineItem.new(entry, page_id)
|
|
20
|
+
end
|
|
21
|
+
super(entries)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# Creates a line of rST table-compliant string separators.
|
|
25
|
+
# @param char [String] Character to use as a separator.
|
|
26
|
+
# @return [String]
|
|
27
|
+
def self.line_items_separator(char)
|
|
28
|
+
out_str = String.new
|
|
29
|
+
out_str << "+#{char * 38}"
|
|
30
|
+
out_str << "+#{char * 14}"
|
|
31
|
+
out_str << "+#{char * 10}"
|
|
32
|
+
out_str << "+#{char * 12}"
|
|
33
|
+
out_str << "+#{char * 14}"
|
|
34
|
+
out_str << "+#{char * 14}"
|
|
35
|
+
out_str << "+#{char * 17}"
|
|
36
|
+
out_str << "+#{char * 12}"
|
|
37
|
+
out_str
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# @return [String]
|
|
41
|
+
def to_s
|
|
42
|
+
return '' if empty?
|
|
43
|
+
|
|
44
|
+
lines = map do |entry|
|
|
45
|
+
"\n #{entry.to_table_line}\n#{self.class.line_items_separator('-')}"
|
|
46
|
+
end.join
|
|
47
|
+
out_str = String.new
|
|
48
|
+
out_str << "\n#{self.class.line_items_separator('-')}\n "
|
|
49
|
+
out_str << ' | Description '
|
|
50
|
+
out_str << ' | Product code'
|
|
51
|
+
out_str << ' | Quantity'
|
|
52
|
+
out_str << ' | Tax Amount'
|
|
53
|
+
out_str << ' | Tax Rate (%)'
|
|
54
|
+
out_str << ' | Total Amount'
|
|
55
|
+
out_str << ' | Unit of measure'
|
|
56
|
+
out_str << ' | Unit Price'
|
|
57
|
+
out_str << " |\n#{self.class.line_items_separator('=')}"
|
|
58
|
+
out_str + lines
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
end
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative '../../parsing'
|
|
4
|
+
require_relative 'financial_document_v1_document'
|
|
5
|
+
|
|
6
|
+
module Mindee
|
|
7
|
+
module V1
|
|
8
|
+
module Product
|
|
9
|
+
module FinancialDocument
|
|
10
|
+
# Financial Document API version 1.14 page data.
|
|
11
|
+
class FinancialDocumentV1Page < Mindee::V1::Parsing::Common::Page
|
|
12
|
+
# @param prediction [Hash]
|
|
13
|
+
def initialize(prediction)
|
|
14
|
+
super
|
|
15
|
+
@prediction = if prediction['prediction'].empty?
|
|
16
|
+
nil
|
|
17
|
+
else
|
|
18
|
+
FinancialDocumentV1PagePrediction.new(
|
|
19
|
+
prediction['prediction'],
|
|
20
|
+
prediction['id']
|
|
21
|
+
)
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
# Financial Document V1 page prediction.
|
|
27
|
+
class FinancialDocumentV1PagePrediction < FinancialDocumentV1Document
|
|
28
|
+
# @return [String]
|
|
29
|
+
def to_s
|
|
30
|
+
out_str = String.new
|
|
31
|
+
out_str << "\n#{super}"
|
|
32
|
+
out_str
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative '../../../parsing'
|
|
4
|
+
require_relative 'bank_account_details_v1_document'
|
|
5
|
+
require_relative 'bank_account_details_v1_page'
|
|
6
|
+
|
|
7
|
+
module Mindee
|
|
8
|
+
module V1
|
|
9
|
+
module Product
|
|
10
|
+
module FR
|
|
11
|
+
# Bank Account Details module.
|
|
12
|
+
module BankAccountDetails
|
|
13
|
+
# Bank Account Details API version 1 inference prediction.
|
|
14
|
+
class BankAccountDetailsV1 < Mindee::V1::Parsing::Common::Inference
|
|
15
|
+
@endpoint_name = 'bank_account_details'
|
|
16
|
+
@endpoint_version = '1'
|
|
17
|
+
@has_async = false
|
|
18
|
+
@has_sync = true
|
|
19
|
+
|
|
20
|
+
# @param prediction [Hash]
|
|
21
|
+
def initialize(prediction)
|
|
22
|
+
super
|
|
23
|
+
@prediction = BankAccountDetailsV1Document.new(prediction['prediction'], nil)
|
|
24
|
+
@pages = []
|
|
25
|
+
prediction['pages'].each do |page|
|
|
26
|
+
@pages.push(BankAccountDetailsV1Page.new(page))
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
class << self
|
|
31
|
+
# Name of the endpoint for this product.
|
|
32
|
+
# @return [String]
|
|
33
|
+
attr_reader :endpoint_name
|
|
34
|
+
# Version for this product.
|
|
35
|
+
# @return [String]
|
|
36
|
+
attr_reader :endpoint_version
|
|
37
|
+
# Whether this product has access to an asynchronous endpoint.
|
|
38
|
+
# @return [bool]
|
|
39
|
+
attr_reader :has_async
|
|
40
|
+
# Whether this product has access to synchronous endpoint.
|
|
41
|
+
# @return [bool]
|
|
42
|
+
attr_reader :has_sync
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative '../../../parsing'
|
|
4
|
+
|
|
5
|
+
module Mindee
|
|
6
|
+
module V1
|
|
7
|
+
module Product
|
|
8
|
+
module FR
|
|
9
|
+
module BankAccountDetails
|
|
10
|
+
# Bank Account Details API version 1.0 document data.
|
|
11
|
+
class BankAccountDetailsV1Document < Mindee::V1::Parsing::Common::Prediction
|
|
12
|
+
include Mindee::V1::Parsing::Standard
|
|
13
|
+
|
|
14
|
+
# The name of the account holder as seen on the document.
|
|
15
|
+
# @return [Mindee::V1::Parsing::Standard::StringField]
|
|
16
|
+
attr_reader :account_holder_name
|
|
17
|
+
# The International Bank Account Number (IBAN).
|
|
18
|
+
# @return [Mindee::V1::Parsing::Standard::StringField]
|
|
19
|
+
attr_reader :iban
|
|
20
|
+
# The bank's SWIFT Business Identifier Code (BIC).
|
|
21
|
+
# @return [Mindee::V1::Parsing::Standard::StringField]
|
|
22
|
+
attr_reader :swift
|
|
23
|
+
|
|
24
|
+
# @param prediction [Hash]
|
|
25
|
+
# @param page_id [Integer, nil]
|
|
26
|
+
def initialize(prediction, page_id)
|
|
27
|
+
super
|
|
28
|
+
@account_holder_name = Parsing::Standard::StringField.new(
|
|
29
|
+
prediction['account_holder_name'],
|
|
30
|
+
page_id
|
|
31
|
+
)
|
|
32
|
+
@iban = Parsing::Standard::StringField.new(prediction['iban'], page_id)
|
|
33
|
+
@swift = Parsing::Standard::StringField.new(prediction['swift'], page_id)
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# @return [String]
|
|
37
|
+
def to_s
|
|
38
|
+
out_str = String.new
|
|
39
|
+
out_str << "\n:IBAN: #{@iban}".rstrip
|
|
40
|
+
out_str << "\n:Account Holder's Name: #{@account_holder_name}".rstrip
|
|
41
|
+
out_str << "\n:SWIFT Code: #{@swift}".rstrip
|
|
42
|
+
out_str[1..].to_s
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|