mindee 3.2.0 → 3.3.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.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/.rubocop.yml +1 -0
- data/CHANGELOG.md +10 -0
- data/bin/mindee.rb +1 -1
- data/docs/barcode_reader_v1.md +2 -2
- data/docs/carte_grise_v1.md +454 -0
- data/docs/code_samples/carte_grise_v1.txt +19 -0
- data/docs/cropper_v1.md +1 -1
- data/docs/custom_v1.md +9 -1
- data/docs/expense_receipts_v5.md +1 -1
- data/docs/financial_document_v1.md +6 -6
- data/docs/invoices_v4.md +68 -99
- data/docs/multi_receipts_detector_v1.md +1 -1
- data/docs/us_w9_v1.md +3 -3
- data/lib/mindee/http/endpoint.rb +5 -1
- data/lib/mindee/http/error.rb +1 -1
- data/lib/mindee/parsing/common/api_response.rb +3 -2
- data/lib/mindee/parsing/common/document.rb +4 -1
- data/lib/mindee/parsing/custom/list_field.rb +7 -5
- data/lib/mindee/parsing/standard/base_field.rb +1 -1
- data/lib/mindee/product/financial_document/financial_document_v1_document.rb +2 -2
- data/lib/mindee/product/fr/carte_grise/carte_grise_v1.rb +39 -0
- data/lib/mindee/product/fr/carte_grise/carte_grise_v1_document.rb +235 -0
- data/lib/mindee/product/fr/carte_grise/carte_grise_v1_page.rb +34 -0
- data/lib/mindee/product/invoice/invoice_v4.rb +1 -2
- data/lib/mindee/product/invoice/invoice_v4_document.rb +105 -145
- data/lib/mindee/product/invoice/invoice_v4_line_item.rb +54 -30
- data/lib/mindee/product/us/w9/w9_v1.rb +2 -2
- data/lib/mindee/product/us/w9/w9_v1_document.rb +1 -1
- data/lib/mindee/product/us/w9/w9_v1_page.rb +2 -2
- data/lib/mindee/product.rb +1 -0
- data/lib/mindee/version.rb +1 -1
- data/lib/mindee.rb +0 -3
- metadata +7 -2
data/docs/invoices_v4.md
CHANGED
@@ -34,123 +34,84 @@ puts result.document
|
|
34
34
|
########
|
35
35
|
Document
|
36
36
|
########
|
37
|
-
:Mindee ID:
|
38
|
-
:Filename:
|
37
|
+
:Mindee ID: 16bd8752-8c4d-450f-8213-f33b2097504c
|
38
|
+
:Filename: default_sample.jpg
|
39
39
|
|
40
40
|
Inference
|
41
41
|
#########
|
42
|
-
:Product: mindee/invoices v4.
|
42
|
+
:Product: mindee/invoices v4.2
|
43
43
|
:Rotation applied: Yes
|
44
44
|
|
45
45
|
Prediction
|
46
46
|
==========
|
47
|
-
:Locale:
|
48
|
-
:
|
49
|
-
:
|
50
|
-
:
|
51
|
-
:
|
52
|
-
:
|
53
|
-
:
|
54
|
-
:Supplier address: 156 University Ave, Toronto ON, Canada M5H 2H7
|
55
|
-
:Supplier company registrations: 501124705; FR33501124705
|
56
|
-
:Supplier payment details: FR7640254025476501124705368;
|
57
|
-
:Customer name: JIRO DOI
|
58
|
-
:Customer address: 1954 Bloon Street West Toronto, ON, M6P 3K9 Canada
|
59
|
-
:Customer company registrations: FR00000000000; 111222333
|
47
|
+
:Locale: en; en; CAD;
|
48
|
+
:Invoice Number: 14
|
49
|
+
:Reference Numbers: AD29094
|
50
|
+
:Purchase Date: 2018-09-25
|
51
|
+
:Due Date: 2018-09-25
|
52
|
+
:Total Net:
|
53
|
+
:Total Amount: 2608.20
|
60
54
|
:Taxes:
|
61
55
|
+---------------+--------+----------+---------------+
|
62
56
|
| Base | Code | Rate (%) | Amount |
|
63
57
|
+===============+========+==========+===============+
|
64
|
-
| | |
|
58
|
+
| | | 8.00 | 193.20 |
|
65
59
|
+---------------+--------+----------+---------------+
|
66
|
-
:
|
67
|
-
:
|
68
|
-
:
|
60
|
+
:Supplier Payment Details:
|
61
|
+
:Supplier Name: TURNPIKE DESIGNS CO.
|
62
|
+
:Supplier Company Registrations:
|
63
|
+
:Supplier Address: 156 University Ave, Toronto ON, Canada M5H 2H7
|
64
|
+
:Customer Name: JIRO DOI
|
65
|
+
:Customer Company Registrations:
|
66
|
+
:Customer Address: 1954 Bloor Street West Toronto, ON, M6P 3K9 Canada
|
67
|
+
:Document Type: INVOICE
|
69
68
|
:Line Items:
|
70
|
-
|
71
|
-
|
|
72
|
-
|
73
|
-
|
|
74
|
-
|
75
|
-
|
|
76
|
-
|
77
|
-
|
|
78
|
-
|
79
|
-
| ABC456 | 200.30 | 8.101 | 1622.63 | 121.70 (7.50%) | Liquid perfection |
|
80
|
-
+----------------------+---------+---------+----------+------------------+--------------------------------------+
|
81
|
-
| | | | | | CARTOUCHE L NR BROTHER TN247BK |
|
82
|
-
+----------------------+---------+---------+----------+------------------+--------------------------------------+
|
69
|
+
+--------------------------------------+--------------+----------+------------+--------------+--------------+------------+
|
70
|
+
| Description | Product code | Quantity | Tax Amount | Tax Rate (%) | Total Amount | Unit Price |
|
71
|
+
+======================================+==============+==========+============+==============+==============+============+
|
72
|
+
| Platinum web hosting package Down... | | 1.00 | | | 65.00 | 65.00 |
|
73
|
+
+--------------------------------------+--------------+----------+------------+--------------+--------------+------------+
|
74
|
+
| 2 page website design Includes ba... | | 3.00 | | | 2100.00 | 2100.00 |
|
75
|
+
+--------------------------------------+--------------+----------+------------+--------------+--------------+------------+
|
76
|
+
| Mobile designs Includes responsiv... | | 1.00 | | | 250.00 | 250.00 |
|
77
|
+
+--------------------------------------+--------------+----------+------------+--------------+--------------+------------+
|
83
78
|
|
84
79
|
Page Predictions
|
85
80
|
================
|
86
81
|
|
87
82
|
Page 0
|
88
83
|
------
|
89
|
-
:Locale:
|
90
|
-
:
|
91
|
-
:
|
92
|
-
:
|
93
|
-
:
|
94
|
-
:
|
95
|
-
:
|
96
|
-
:Supplier address:
|
97
|
-
:Supplier company registrations: 501124705; FR33501124705
|
98
|
-
:Supplier payment details: FR7640254025476501124705368;
|
99
|
-
:Customer name:
|
100
|
-
:Customer address:
|
101
|
-
:Customer company registrations:
|
102
|
-
:Taxes:
|
103
|
-
+---------------+--------+----------+---------------+
|
104
|
-
| Base | Code | Rate (%) | Amount |
|
105
|
-
+===============+========+==========+===============+
|
106
|
-
| | | 20.00 | 97.98 |
|
107
|
-
+---------------+--------+----------+---------------+
|
108
|
-
:Total net: 489.97
|
109
|
-
:Total tax: 97.98
|
110
|
-
:Total amount: 587.95
|
111
|
-
:Line Items:
|
112
|
-
+----------------------+---------+---------+----------+------------------+--------------------------------------+
|
113
|
-
| Code | QTY | Price | Amount | Tax (Rate) | Description |
|
114
|
-
+======================+=========+=========+==========+==================+======================================+
|
115
|
-
| | | | 4.31 | (2.10%) | PQ20 ETIQ ULTRA RESIS METAXXDC |
|
116
|
-
+----------------------+---------+---------+----------+------------------+--------------------------------------+
|
117
|
-
| | 1.00 | 65.00 | 75.00 | 10.00 | Platinum web hosting package Down... |
|
118
|
-
+----------------------+---------+---------+----------+------------------+--------------------------------------+
|
119
|
-
|
120
|
-
Page 1
|
121
|
-
------
|
122
|
-
:Locale: fr; fr; EUR;
|
123
|
-
:Document type: INVOICE
|
124
|
-
:Invoice number:
|
125
|
-
:Reference numbers: AD29094
|
126
|
-
:Invoice date:
|
127
|
-
:Invoice due date: 2020-02-17
|
128
|
-
:Supplier name: TURNPIKE DESIGNS CO.
|
129
|
-
:Supplier address: 156 University Ave, Toronto ON, Canada M5H 2H7
|
130
|
-
:Supplier company registrations:
|
131
|
-
:Supplier payment details:
|
132
|
-
:Customer name: JIRO DOI
|
133
|
-
:Customer address: 1954 Bloon Street West Toronto, ON, M6P 3K9 Canada
|
134
|
-
:Customer company registrations:
|
84
|
+
:Locale: en; en; CAD;
|
85
|
+
:Invoice Number: 14
|
86
|
+
:Reference Numbers: AD29094
|
87
|
+
:Purchase Date: 2018-09-25
|
88
|
+
:Due Date: 2018-09-25
|
89
|
+
:Total Net:
|
90
|
+
:Total Amount: 2608.20
|
135
91
|
:Taxes:
|
136
92
|
+---------------+--------+----------+---------------+
|
137
93
|
| Base | Code | Rate (%) | Amount |
|
138
94
|
+===============+========+==========+===============+
|
139
95
|
| | | 8.00 | 193.20 |
|
140
96
|
+---------------+--------+----------+---------------+
|
141
|
-
:
|
142
|
-
:
|
143
|
-
:
|
97
|
+
:Supplier Payment Details:
|
98
|
+
:Supplier Name: TURNPIKE DESIGNS CO.
|
99
|
+
:Supplier Company Registrations:
|
100
|
+
:Supplier Address: 156 University Ave, Toronto ON, Canada M5H 2H7
|
101
|
+
:Customer Name: JIRO DOI
|
102
|
+
:Customer Company Registrations:
|
103
|
+
:Customer Address: 1954 Bloor Street West Toronto, ON, M6P 3K9 Canada
|
104
|
+
:Document Type: INVOICE
|
144
105
|
:Line Items:
|
145
|
-
|
146
|
-
|
|
147
|
-
|
148
|
-
|
|
149
|
-
|
150
|
-
|
|
151
|
-
|
152
|
-
|
|
153
|
-
|
106
|
+
+--------------------------------------+--------------+----------+------------+--------------+--------------+------------+
|
107
|
+
| Description | Product code | Quantity | Tax Amount | Tax Rate (%) | Total Amount | Unit Price |
|
108
|
+
+======================================+==============+==========+============+==============+==============+============+
|
109
|
+
| Platinum web hosting package Down... | | 1.00 | | | 65.00 | 65.00 |
|
110
|
+
+--------------------------------------+--------------+----------+------------+--------------+--------------+------------+
|
111
|
+
| 2 page website design Includes ba... | | 3.00 | | | 2100.00 | 2100.00 |
|
112
|
+
+--------------------------------------+--------------+----------+------------+--------------+--------------+------------+
|
113
|
+
| Mobile designs Includes responsiv... | | 1.00 | | | 250.00 | 250.00 |
|
114
|
+
+--------------------------------------+--------------+----------+------------+--------------+--------------+------------+
|
154
115
|
```
|
155
116
|
|
156
117
|
# Field Types
|
@@ -199,6 +160,14 @@ The locale field `LocaleField` only implements the **value**, **confidence** and
|
|
199
160
|
* **country** (`String`): ISO 3166-1 alpha-2 or ISO 3166-1 alpha-3 code for countries (e.g.: `GRB` or `GB` for "Great Britain"). Can be `nil`.
|
200
161
|
* **currency** (`String`): ISO 4217 code for currencies (e.g.: `USD` for "US Dollars"). Can be `nil`.
|
201
162
|
|
163
|
+
### Payment Details Field
|
164
|
+
Aside from the basic `Field` attributes, the payment details field `PaymentDetailsField` also implements the following:
|
165
|
+
|
166
|
+
* **account_number** (`String`): number of an account, expressed as a string. Can be `nil`.
|
167
|
+
* **iban** (`String`): International Bank Account Number. Can be `nil`.
|
168
|
+
* **routing_number** (`String`): routing number of an account. Can be `nil`.
|
169
|
+
* **swift** (`String`): the account holder's bank's SWIFT Business Identifier Code (BIC). Can be `nil`.
|
170
|
+
|
202
171
|
### String Field
|
203
172
|
The text field `StringField` only has one constraint: it's **value** is a `String` (or `nil`).
|
204
173
|
|
@@ -206,7 +175,7 @@ The text field `StringField` only has one constraint: it's **value** is a `Strin
|
|
206
175
|
#### Tax
|
207
176
|
Aside from the basic `Field` attributes, the tax field `TaxField` also implements the following:
|
208
177
|
|
209
|
-
* **rate** (`Float`): the tax rate applied to an item can be
|
178
|
+
* **rate** (`Float`): the tax rate applied to an item can be expressed as a percentage. Can be `nil`.
|
210
179
|
* **code** (`String`): tax code (or equivalent, depending on the origin of the document). Can be `nil`.
|
211
180
|
* **base** (`Float`): base amount used for the tax. Can be `nil`.
|
212
181
|
|
@@ -225,7 +194,7 @@ A `InvoiceV4LineItem` implements the following attributes:
|
|
225
194
|
|
226
195
|
* `description` (String): The item description.
|
227
196
|
* `product_code` (String): The product code referring to the item.
|
228
|
-
* `quantity` (
|
197
|
+
* `quantity` (Float): The item quantity
|
229
198
|
* `tax_amount` (Float): The item tax amount.
|
230
199
|
* `tax_rate` (Float): The item tax rate in percentage.
|
231
200
|
* `total_amount` (Float): The item total amount.
|
@@ -235,7 +204,7 @@ A `InvoiceV4LineItem` implements the following attributes:
|
|
235
204
|
The following fields are extracted for Invoice V4:
|
236
205
|
|
237
206
|
## Customer Address
|
238
|
-
**
|
207
|
+
**customer_address** ([StringField](#string-field)): The address of the customer.
|
239
208
|
|
240
209
|
```rb
|
241
210
|
puts result.document.inference.prediction.customer_address.value
|
@@ -245,13 +214,13 @@ puts result.document.inference.prediction.customer_address.value
|
|
245
214
|
**customer_company_registrations** (Array<[CompanyRegistrationField](#company-registration-field)>): List of company registrations associated to the customer.
|
246
215
|
|
247
216
|
```rb
|
248
|
-
for
|
249
|
-
puts
|
217
|
+
for customer_company_registrations_elem in result.document.inference.prediction.customer_company_registrations do
|
218
|
+
puts customer_company_registrations_elem.value
|
250
219
|
end
|
251
220
|
```
|
252
221
|
|
253
222
|
## Customer Name
|
254
|
-
**customer_name** ([StringField](#string-field)): The name of the customer.
|
223
|
+
**customer_name** ([StringField](#string-field)): The name of the customer or client.
|
255
224
|
|
256
225
|
```rb
|
257
226
|
puts result.document.inference.prediction.customer_name.value
|
@@ -314,7 +283,7 @@ end
|
|
314
283
|
**supplier_address** ([StringField](#string-field)): The address of the supplier or merchant.
|
315
284
|
|
316
285
|
```rb
|
317
|
-
result.document.inference.prediction.supplier_address.value
|
286
|
+
puts result.document.inference.prediction.supplier_address.value
|
318
287
|
```
|
319
288
|
|
320
289
|
## Supplier Company Registrations
|
@@ -343,7 +312,7 @@ end
|
|
343
312
|
```
|
344
313
|
|
345
314
|
## Taxes
|
346
|
-
**taxes** (Array<[TaxField](#taxes-field)>): List of tax
|
315
|
+
**taxes** (Array<[TaxField](#taxes-field)>): List of tax line details.
|
347
316
|
|
348
317
|
```rb
|
349
318
|
for taxes_elem in result.document.inference.prediction.taxes do
|
data/docs/us_w9_v1.md
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
---
|
2
2
|
title: US W9 OCR Ruby
|
3
3
|
---
|
4
|
-
The Ruby OCR SDK supports the [
|
4
|
+
The Ruby OCR SDK supports the [W9 API](https://platform.mindee.com/mindee/us_w9).
|
5
5
|
|
6
6
|
Using the [sample below](https://github.com/mindee/client-lib-test-data/blob/main/products/us_w9/default_sample.jpg), we are going to illustrate how to extract the data that we want using the OCR SDK.
|
7
|
-

|
8
8
|
|
9
9
|
# Quick-Start
|
10
10
|
```rb
|
@@ -93,7 +93,7 @@ The text field `StringField` only has one constraint: it's **value** is a `Strin
|
|
93
93
|
Some fields are constrained to the page level, and so will not be retrievable to through the document.
|
94
94
|
|
95
95
|
# Attributes
|
96
|
-
The following fields are extracted for
|
96
|
+
The following fields are extracted for W9 V1:
|
97
97
|
|
98
98
|
## Address
|
99
99
|
[📄](#page-level-fields "This field is only present on individual pages.")**address** ([StringField](#string-field)): The street address (number, street, and apt. or suite no.) of the applicant.
|
data/lib/mindee/http/endpoint.rb
CHANGED
@@ -31,6 +31,8 @@ module Mindee
|
|
31
31
|
attr_reader :api_key
|
32
32
|
# @return [Integer]
|
33
33
|
attr_reader :request_timeout
|
34
|
+
# @return [String]
|
35
|
+
attr_reader :url_root
|
34
36
|
|
35
37
|
def initialize(owner, url_name, version, api_key: '')
|
36
38
|
@owner = owner
|
@@ -38,7 +40,8 @@ module Mindee
|
|
38
40
|
@version = version
|
39
41
|
@request_timeout = ENV.fetch(REQUEST_TIMEOUT_ENV_NAME, TIMEOUT_DEFAULT).to_i
|
40
42
|
@api_key = api_key.nil? || api_key.empty? ? ENV.fetch(API_KEY_ENV_NAME, API_KEY_DEFAULT) : api_key
|
41
|
-
|
43
|
+
base_url = ENV.fetch(BASE_URL_ENV_NAME, BASE_URL_DEFAULT)
|
44
|
+
@url_root = "#{base_url.chomp('/')}/products/#{@owner}/#{@url_name}/v#{@version}"
|
42
45
|
end
|
43
46
|
|
44
47
|
# Call the prediction API.
|
@@ -174,6 +177,7 @@ module Mindee
|
|
174
177
|
response
|
175
178
|
end
|
176
179
|
|
180
|
+
# Checks API key
|
177
181
|
def check_api_key
|
178
182
|
return unless @api_key.nil? || @api_key.empty?
|
179
183
|
|
data/lib/mindee/http/error.rb
CHANGED
@@ -95,13 +95,14 @@ module Mindee
|
|
95
95
|
attr_reader :job
|
96
96
|
# @return [Mindee::Parsing::Common::ApiRequest]
|
97
97
|
attr_reader :api_request
|
98
|
-
# @return [
|
98
|
+
# @return [Hash]
|
99
99
|
attr_reader :raw_http
|
100
100
|
|
101
101
|
# @param product_class [Class<Mindee::Product>]
|
102
102
|
# @param http_response [Hash]
|
103
|
+
# @param raw_http [String]
|
103
104
|
def initialize(product_class, http_response, raw_http)
|
104
|
-
@raw_http = raw_http
|
105
|
+
@raw_http = raw_http.to_s
|
105
106
|
if http_response.key?('api_request')
|
106
107
|
@api_request = Mindee::Parsing::Common::ApiRequest.new(http_response['api_request'])
|
107
108
|
end
|
@@ -13,8 +13,10 @@ module Mindee
|
|
13
13
|
attr_reader :name
|
14
14
|
# @return [String] Mindee ID of the document
|
15
15
|
attr_reader :id
|
16
|
-
# @return [Mindee::Parsing::Common::Ocr::Ocr, nil]
|
16
|
+
# @return [Mindee::Parsing::Common::Ocr::Ocr, nil] OCR text results (limited availability)
|
17
17
|
attr_reader :ocr
|
18
|
+
# @return [Integer] Amount of pages of the document
|
19
|
+
attr_reader :n_pages
|
18
20
|
|
19
21
|
# @param http_response [Hash]
|
20
22
|
# @return [Mindee::Parsing::Common::Ocr::Ocr]
|
@@ -32,6 +34,7 @@ module Mindee
|
|
32
34
|
@name = http_response['name']
|
33
35
|
@inference = product_class.new(http_response['inference'])
|
34
36
|
@ocr = self.class.load_ocr(http_response)
|
37
|
+
@n_pages = http_response['n_pages']
|
35
38
|
end
|
36
39
|
|
37
40
|
# @return [String]
|
@@ -14,13 +14,16 @@ module Mindee
|
|
14
14
|
attr_reader :polygon
|
15
15
|
# @return [Array, Hash, String, nil]
|
16
16
|
attr_reader :content
|
17
|
+
# @return [Integer, nil]
|
18
|
+
attr_reader :page_id
|
17
19
|
|
18
20
|
# @param prediction [Hash]
|
19
|
-
def initialize(prediction)
|
21
|
+
def initialize(prediction, page_id: nil)
|
20
22
|
@content = prediction['content']
|
21
23
|
@confidence = prediction['confidence']
|
22
24
|
@polygon = Geometry.polygon_from_prediction(prediction['polygon'])
|
23
25
|
@bounding_box = Geometry.get_bounding_box(@polygon) unless @polygon.nil? || @polygon.empty?
|
26
|
+
@page_id = page_id
|
24
27
|
end
|
25
28
|
|
26
29
|
# @return [String]
|
@@ -33,8 +36,6 @@ module Mindee
|
|
33
36
|
class ListField
|
34
37
|
# @return [Array<Mindee::Parsing::Custom::ListFieldItem>]
|
35
38
|
attr_reader :values
|
36
|
-
# @return [Integer, nil]
|
37
|
-
attr_reader :page_id
|
38
39
|
# true if the field was reconstructed or computed using other fields.
|
39
40
|
# @return [Boolean]
|
40
41
|
attr_reader :reconstructed
|
@@ -48,11 +49,12 @@ module Mindee
|
|
48
49
|
def initialize(prediction, page_id, reconstructed: false)
|
49
50
|
@values = []
|
50
51
|
@confidence = prediction['confidence']
|
51
|
-
|
52
|
+
page_id = prediction['page_id'] if page_id.nil? && prediction.include?('page_id')
|
52
53
|
@reconstructed = reconstructed
|
53
54
|
|
54
55
|
prediction['values'].each do |field|
|
55
|
-
|
56
|
+
page_id = field['page_id'] if field.include?('page_id')
|
57
|
+
@values.push(ListFieldItem.new(field, page_id: page_id))
|
56
58
|
end
|
57
59
|
end
|
58
60
|
|
@@ -96,7 +96,7 @@ module Mindee
|
|
96
96
|
return '' if in_str.nil?
|
97
97
|
return in_str if max_col_size.nil?
|
98
98
|
|
99
|
-
in_str.length < max_col_size ? in_str : "#{in_str[0..max_col_size -
|
99
|
+
in_str.length < max_col_size ? in_str : "#{in_str[0..max_col_size - 4]}..."
|
100
100
|
end
|
101
101
|
end
|
102
102
|
end
|
@@ -140,11 +140,11 @@ module Mindee
|
|
140
140
|
out_str << "\n:Total Amount: #{@total_amount}".rstrip
|
141
141
|
out_str << "\n:Taxes:#{@taxes}".rstrip
|
142
142
|
out_str << "\n:Supplier Payment Details: #{supplier_payment_details}".rstrip
|
143
|
-
out_str << "\n:Supplier
|
143
|
+
out_str << "\n:Supplier Name: #{@supplier_name}".rstrip
|
144
144
|
out_str << "\n:Supplier Company Registrations: #{supplier_company_registrations}".rstrip
|
145
145
|
out_str << "\n:Supplier Address: #{@supplier_address}".rstrip
|
146
146
|
out_str << "\n:Supplier Phone Number: #{@supplier_phone_number}".rstrip
|
147
|
-
out_str << "\n:Customer
|
147
|
+
out_str << "\n:Customer Name: #{@customer_name}".rstrip
|
148
148
|
out_str << "\n:Customer Company Registrations: #{customer_company_registrations}".rstrip
|
149
149
|
out_str << "\n:Customer Address: #{@customer_address}".rstrip
|
150
150
|
out_str << "\n:Document Type: #{@document_type}".rstrip
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative '../../../parsing'
|
4
|
+
require_relative 'carte_grise_v1_document'
|
5
|
+
require_relative 'carte_grise_v1_page'
|
6
|
+
|
7
|
+
module Mindee
|
8
|
+
module Product
|
9
|
+
module FR
|
10
|
+
# Carte Grise module.
|
11
|
+
module CarteGrise
|
12
|
+
# Carte Grise V1 prediction inference.
|
13
|
+
class CarteGriseV1 < Mindee::Parsing::Common::Inference
|
14
|
+
@endpoint_name = 'carte_grise'
|
15
|
+
@endpoint_version = '1'
|
16
|
+
|
17
|
+
# @param prediction [Hash]
|
18
|
+
def initialize(prediction)
|
19
|
+
super
|
20
|
+
@prediction = CarteGriseV1Document.new(prediction['prediction'], nil)
|
21
|
+
@pages = []
|
22
|
+
prediction['pages'].each do |page|
|
23
|
+
@pages.push(CarteGriseV1Page.new(page))
|
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
|
39
|
+
end
|