mindee 3.5.0 → 3.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +12 -0
  3. data/README.md +39 -4
  4. data/bin/mindee.rb +6 -0
  5. data/docs/bank_account_details_v2.md +1 -1
  6. data/docs/bank_check_v1.md +1 -1
  7. data/docs/bank_statement_fr_v1.md +1 -1
  8. data/docs/barcode_reader_v1.md +1 -1
  9. data/docs/carte_grise_v1.md +1 -1
  10. data/docs/carte_vitale_v1.md +1 -1
  11. data/docs/code_samples/resume_v1_async.txt +19 -0
  12. data/docs/cropper_v1.md +1 -1
  13. data/docs/custom_v1.md +1 -1
  14. data/docs/eu_driver_license_v1.md +5 -5
  15. data/docs/expense_receipts_v5.md +1 -1
  16. data/docs/financial_document_v1.md +1 -1
  17. data/docs/generated_v1.md +1 -1
  18. data/docs/getting_started.md +1 -1
  19. data/docs/idcard_fr_v2.md +1 -1
  20. data/docs/international_id_v2.md +226 -0
  21. data/docs/invoice_splitter_v1.md +1 -1
  22. data/docs/invoices_v4.md +1 -1
  23. data/docs/license_plates_v1.md +1 -1
  24. data/docs/multi_receipts_detector_v1.md +1 -1
  25. data/docs/passport_v1.md +1 -1
  26. data/docs/proof_of_address_v1.md +1 -1
  27. data/docs/resume_v1.md +334 -0
  28. data/docs/us_driver_license_v1.md +1 -1
  29. data/docs/us_w9_v1.md +1 -1
  30. data/lib/mindee/http/endpoint.rb +24 -17
  31. data/lib/mindee/http/error.rb +11 -4
  32. data/lib/mindee/http/response_validation.rb +56 -0
  33. data/lib/mindee/parsing/common/api_response.rb +6 -1
  34. data/lib/mindee/parsing/standard/base_field.rb +1 -1
  35. data/lib/mindee/product/.rubocop.yml +7 -2
  36. data/lib/mindee/product/eu/driver_license/driver_license_v1.rb +2 -2
  37. data/lib/mindee/product/eu/driver_license/driver_license_v1_document.rb +1 -1
  38. data/lib/mindee/product/eu/driver_license/driver_license_v1_page.rb +2 -2
  39. data/lib/mindee/product/fr/carte_grise/carte_grise_v1_document.rb +0 -2
  40. data/lib/mindee/product/resume/resume_v1.rb +39 -0
  41. data/lib/mindee/product/resume/resume_v1_certificate.rb +69 -0
  42. data/lib/mindee/product/resume/resume_v1_document.rb +322 -0
  43. data/lib/mindee/product/resume/resume_v1_education.rb +90 -0
  44. data/lib/mindee/product/resume/resume_v1_language.rb +55 -0
  45. data/lib/mindee/product/resume/resume_v1_page.rb +32 -0
  46. data/lib/mindee/product/resume/resume_v1_professional_experience.rb +97 -0
  47. data/lib/mindee/product/resume/resume_v1_social_networks_url.rb +55 -0
  48. data/lib/mindee/product.rb +1 -0
  49. data/lib/mindee/version.rb +1 -1
  50. metadata +14 -2
@@ -0,0 +1,97 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../../parsing'
4
+
5
+ module Mindee
6
+ module Product
7
+ module Resume
8
+ # The list of the candidate's professional experiences.
9
+ class ResumeV1ProfessionalExperience < Mindee::Parsing::Standard::FeatureField
10
+ include Mindee::Parsing::Standard
11
+ # The type of contract for the professional experience.
12
+ # @return [String]
13
+ attr_reader :contract_type
14
+ # The specific department or division within the company.
15
+ # @return [String]
16
+ attr_reader :department
17
+ # The name of the company or organization.
18
+ # @return [String]
19
+ attr_reader :employer
20
+ # The month when the professional experience ended.
21
+ # @return [String]
22
+ attr_reader :end_month
23
+ # The year when the professional experience ended.
24
+ # @return [String]
25
+ attr_reader :end_year
26
+ # The position or job title held by the candidate.
27
+ # @return [String]
28
+ attr_reader :role
29
+ # The month when the professional experience began.
30
+ # @return [String]
31
+ attr_reader :start_month
32
+ # The year when the professional experience began.
33
+ # @return [String]
34
+ attr_reader :start_year
35
+
36
+ # @param prediction [Hash]
37
+ # @param page_id [Integer, nil]
38
+ def initialize(prediction, page_id)
39
+ super(prediction, page_id)
40
+ @contract_type = prediction['contract_type']
41
+ @department = prediction['department']
42
+ @employer = prediction['employer']
43
+ @end_month = prediction['end_month']
44
+ @end_year = prediction['end_year']
45
+ @role = prediction['role']
46
+ @start_month = prediction['start_month']
47
+ @start_year = prediction['start_year']
48
+ @page_id = page_id
49
+ end
50
+
51
+ # @return [Hash]
52
+ def printable_values
53
+ printable = {}
54
+ printable[:contract_type] = format_for_display(@contract_type, 15)
55
+ printable[:department] = format_for_display(@department, 10)
56
+ printable[:employer] = format_for_display(@employer, 25)
57
+ printable[:end_month] = format_for_display(@end_month, nil)
58
+ printable[:end_year] = format_for_display(@end_year, nil)
59
+ printable[:role] = format_for_display(@role, 20)
60
+ printable[:start_month] = format_for_display(@start_month, nil)
61
+ printable[:start_year] = format_for_display(@start_year, nil)
62
+ printable
63
+ end
64
+
65
+ # @return [String]
66
+ def to_table_line
67
+ printable = printable_values
68
+ out_str = String.new
69
+ out_str << format('| %- 16s', printable[:contract_type])
70
+ out_str << format('| %- 11s', printable[:department])
71
+ out_str << format('| %- 26s', printable[:employer])
72
+ out_str << format('| %- 10s', printable[:end_month])
73
+ out_str << format('| %- 9s', printable[:end_year])
74
+ out_str << format('| %- 21s', printable[:role])
75
+ out_str << format('| %- 12s', printable[:start_month])
76
+ out_str << format('| %- 11s', printable[:start_year])
77
+ out_str << '|'
78
+ end
79
+
80
+ # @return [String]
81
+ def to_s
82
+ printable = printable_values
83
+ out_str = String.new
84
+ out_str << "\n :Contract Type: #{printable[:contract_type]}"
85
+ out_str << "\n :Department: #{printable[:department]}"
86
+ out_str << "\n :Employer: #{printable[:employer]}"
87
+ out_str << "\n :End Month: #{printable[:end_month]}"
88
+ out_str << "\n :End Year: #{printable[:end_year]}"
89
+ out_str << "\n :Role: #{printable[:role]}"
90
+ out_str << "\n :Start Month: #{printable[:start_month]}"
91
+ out_str << "\n :Start Year: #{printable[:start_year]}"
92
+ out_str
93
+ end
94
+ end
95
+ end
96
+ end
97
+ end
@@ -0,0 +1,55 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../../parsing'
4
+
5
+ module Mindee
6
+ module Product
7
+ module Resume
8
+ # The list of social network profiles of the candidate.
9
+ class ResumeV1SocialNetworksUrl < Mindee::Parsing::Standard::FeatureField
10
+ include Mindee::Parsing::Standard
11
+ # The name of the social network.
12
+ # @return [String]
13
+ attr_reader :name
14
+ # The URL of the social network.
15
+ # @return [String]
16
+ attr_reader :url
17
+
18
+ # @param prediction [Hash]
19
+ # @param page_id [Integer, nil]
20
+ def initialize(prediction, page_id)
21
+ super(prediction, page_id)
22
+ @name = prediction['name']
23
+ @url = prediction['url']
24
+ @page_id = page_id
25
+ end
26
+
27
+ # @return [Hash]
28
+ def printable_values
29
+ printable = {}
30
+ printable[:name] = format_for_display(@name, 20)
31
+ printable[:url] = format_for_display(@url, 50)
32
+ printable
33
+ end
34
+
35
+ # @return [String]
36
+ def to_table_line
37
+ printable = printable_values
38
+ out_str = String.new
39
+ out_str << format('| %- 21s', printable[:name])
40
+ out_str << format('| %- 51s', printable[:url])
41
+ out_str << '|'
42
+ end
43
+
44
+ # @return [String]
45
+ def to_s
46
+ printable = printable_values
47
+ out_str = String.new
48
+ out_str << "\n :Name: #{printable[:name]}"
49
+ out_str << "\n :URL: #{printable[:url]}"
50
+ out_str
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
@@ -23,6 +23,7 @@ require_relative 'product/generated/generated_v1'
23
23
  require_relative 'product/invoice_splitter/invoice_splitter_v1'
24
24
  require_relative 'product/international_id/international_id_v1'
25
25
  require_relative 'product/international_id/international_id_v2'
26
+ require_relative 'product/resume/resume_v1'
26
27
  require_relative 'product/us/bank_check/bank_check_v1'
27
28
  require_relative 'product/us/driver_license/driver_license_v1'
28
29
  require_relative 'product/us/w9/w9_v1'
@@ -3,7 +3,7 @@
3
3
  # Mindee
4
4
  module Mindee
5
5
  # Current version.
6
- VERSION = '3.5.0'
6
+ VERSION = '3.6.1'
7
7
 
8
8
  # Finds and return the current platform.
9
9
  # @return [String]
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mindee
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.5.0
4
+ version: 3.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mindee, SA
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-02-16 00:00:00.000000000 Z
11
+ date: 2024-03-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: marcel
@@ -148,6 +148,7 @@ files:
148
148
  - docs/code_samples/multi_receipts_detector_v1.txt
149
149
  - docs/code_samples/passport_v1.txt
150
150
  - docs/code_samples/proof_of_address_v1.txt
151
+ - docs/code_samples/resume_v1_async.txt
151
152
  - docs/code_samples/us_driver_license_v1.txt
152
153
  - docs/code_samples/us_w9_v1.txt
153
154
  - docs/cropper_v1.md
@@ -158,12 +159,14 @@ files:
158
159
  - docs/generated_v1.md
159
160
  - docs/getting_started.md
160
161
  - docs/idcard_fr_v2.md
162
+ - docs/international_id_v2.md
161
163
  - docs/invoice_splitter_v1.md
162
164
  - docs/invoices_v4.md
163
165
  - docs/license_plates_v1.md
164
166
  - docs/multi_receipts_detector_v1.md
165
167
  - docs/passport_v1.md
166
168
  - docs/proof_of_address_v1.md
169
+ - docs/resume_v1.md
167
170
  - docs/us_driver_license_v1.md
168
171
  - docs/us_w9_v1.md
169
172
  - lib/mindee.rb
@@ -178,6 +181,7 @@ files:
178
181
  - lib/mindee/http/.rubocop.yml
179
182
  - lib/mindee/http/endpoint.rb
180
183
  - lib/mindee/http/error.rb
184
+ - lib/mindee/http/response_validation.rb
181
185
  - lib/mindee/input.rb
182
186
  - lib/mindee/input/sources.rb
183
187
  - lib/mindee/parsing.rb
@@ -289,6 +293,14 @@ files:
289
293
  - lib/mindee/product/receipt/receipt_v5_document.rb
290
294
  - lib/mindee/product/receipt/receipt_v5_line_item.rb
291
295
  - lib/mindee/product/receipt/receipt_v5_page.rb
296
+ - lib/mindee/product/resume/resume_v1.rb
297
+ - lib/mindee/product/resume/resume_v1_certificate.rb
298
+ - lib/mindee/product/resume/resume_v1_document.rb
299
+ - lib/mindee/product/resume/resume_v1_education.rb
300
+ - lib/mindee/product/resume/resume_v1_language.rb
301
+ - lib/mindee/product/resume/resume_v1_page.rb
302
+ - lib/mindee/product/resume/resume_v1_professional_experience.rb
303
+ - lib/mindee/product/resume/resume_v1_social_networks_url.rb
292
304
  - lib/mindee/product/us/bank_check/bank_check_v1.rb
293
305
  - lib/mindee/product/us/bank_check/bank_check_v1_document.rb
294
306
  - lib/mindee/product/us/bank_check/bank_check_v1_page.rb