Class: Mindee::Product::Passport::PassportV1Document
- Inherits:
-
Mindee::Parsing::Common::Prediction
- Object
- Mindee::Parsing::Common::Prediction
- Mindee::Product::Passport::PassportV1Document
- Includes:
- Mindee::Parsing::Standard
- Defined in:
- lib/mindee/product/passport/passport_v1_document.rb
Overview
Passport API version 1.1 document data.
Direct Known Subclasses
Instance Attribute Summary collapse
-
#birth_date ⇒ Mindee::Parsing::Standard::DateField
readonly
The date of birth of the passport holder.
-
#birth_place ⇒ Mindee::Parsing::Standard::StringField
readonly
The place of birth of the passport holder.
-
#country ⇒ Mindee::Parsing::Standard::StringField
readonly
The country’s 3 letter code (ISO 3166-1 alpha-3).
-
#expiry_date ⇒ Mindee::Parsing::Standard::DateField
readonly
The expiry date of the passport.
-
#gender ⇒ Mindee::Parsing::Standard::StringField
readonly
The gender of the passport holder.
-
#given_names ⇒ Array<Mindee::Parsing::Standard::StringField>
readonly
The given name(s) of the passport holder.
-
#id_number ⇒ Mindee::Parsing::Standard::StringField
readonly
The passport’s identification number.
-
#issuance_date ⇒ Mindee::Parsing::Standard::DateField
readonly
The date the passport was issued.
-
#mrz1 ⇒ Mindee::Parsing::Standard::StringField
readonly
Machine Readable Zone, first line.
-
#mrz2 ⇒ Mindee::Parsing::Standard::StringField
readonly
Machine Readable Zone, second line.
-
#surname ⇒ Mindee::Parsing::Standard::StringField
readonly
The surname of the passport holder.
Instance Method Summary collapse
-
#initialize(prediction, page_id) ⇒ PassportV1Document
constructor
A new instance of PassportV1Document.
- #to_s ⇒ String
Constructor Details
#initialize(prediction, page_id) ⇒ PassportV1Document
Returns a new instance of PassportV1Document.
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |
# File 'lib/mindee/product/passport/passport_v1_document.rb', line 47 def initialize(prediction, page_id) super @birth_date = Parsing::Standard::DateField.new( prediction['birth_date'], page_id ) @birth_place = Parsing::Standard::StringField.new( prediction['birth_place'], page_id ) @country = Parsing::Standard::StringField.new( prediction['country'], page_id ) @expiry_date = Parsing::Standard::DateField.new( prediction['expiry_date'], page_id ) @gender = Parsing::Standard::StringField.new( prediction['gender'], page_id ) @given_names = [] # : Array[Parsing::Standard::StringField] prediction['given_names'].each do |item| @given_names.push(Parsing::Standard::StringField.new(item, page_id)) end @id_number = Parsing::Standard::StringField.new( prediction['id_number'], page_id ) @issuance_date = Parsing::Standard::DateField.new( prediction['issuance_date'], page_id ) @mrz1 = Parsing::Standard::StringField.new(prediction['mrz1'], page_id) @mrz2 = Parsing::Standard::StringField.new(prediction['mrz2'], page_id) @surname = Parsing::Standard::StringField.new( prediction['surname'], page_id ) end |
Instance Attribute Details
#birth_date ⇒ Mindee::Parsing::Standard::DateField (readonly)
The date of birth of the passport holder.
13 14 15 |
# File 'lib/mindee/product/passport/passport_v1_document.rb', line 13 def birth_date @birth_date end |
#birth_place ⇒ Mindee::Parsing::Standard::StringField (readonly)
The place of birth of the passport holder.
16 17 18 |
# File 'lib/mindee/product/passport/passport_v1_document.rb', line 16 def birth_place @birth_place end |
#country ⇒ Mindee::Parsing::Standard::StringField (readonly)
The country’s 3 letter code (ISO 3166-1 alpha-3).
19 20 21 |
# File 'lib/mindee/product/passport/passport_v1_document.rb', line 19 def country @country end |
#expiry_date ⇒ Mindee::Parsing::Standard::DateField (readonly)
The expiry date of the passport.
22 23 24 |
# File 'lib/mindee/product/passport/passport_v1_document.rb', line 22 def expiry_date @expiry_date end |
#gender ⇒ Mindee::Parsing::Standard::StringField (readonly)
The gender of the passport holder.
25 26 27 |
# File 'lib/mindee/product/passport/passport_v1_document.rb', line 25 def gender @gender end |
#given_names ⇒ Array<Mindee::Parsing::Standard::StringField> (readonly)
The given name(s) of the passport holder.
28 29 30 |
# File 'lib/mindee/product/passport/passport_v1_document.rb', line 28 def given_names @given_names end |
#id_number ⇒ Mindee::Parsing::Standard::StringField (readonly)
The passport’s identification number.
31 32 33 |
# File 'lib/mindee/product/passport/passport_v1_document.rb', line 31 def id_number @id_number end |
#issuance_date ⇒ Mindee::Parsing::Standard::DateField (readonly)
The date the passport was issued.
34 35 36 |
# File 'lib/mindee/product/passport/passport_v1_document.rb', line 34 def issuance_date @issuance_date end |
#mrz1 ⇒ Mindee::Parsing::Standard::StringField (readonly)
Machine Readable Zone, first line
37 38 39 |
# File 'lib/mindee/product/passport/passport_v1_document.rb', line 37 def mrz1 @mrz1 end |
#mrz2 ⇒ Mindee::Parsing::Standard::StringField (readonly)
Machine Readable Zone, second line
40 41 42 |
# File 'lib/mindee/product/passport/passport_v1_document.rb', line 40 def mrz2 @mrz2 end |
#surname ⇒ Mindee::Parsing::Standard::StringField (readonly)
The surname of the passport holder.
43 44 45 |
# File 'lib/mindee/product/passport/passport_v1_document.rb', line 43 def surname @surname end |
Instance Method Details
#to_s ⇒ String
90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 |
# File 'lib/mindee/product/passport/passport_v1_document.rb', line 90 def to_s given_names = @given_names.join("\n #{' ' * 15}") out_str = String.new out_str << "\n:Country Code: #{@country}".rstrip out_str << "\n:ID Number: #{@id_number}".rstrip out_str << "\n:Given Name(s): #{given_names}".rstrip out_str << "\n:Surname: #{@surname}".rstrip out_str << "\n:Date of Birth: #{@birth_date}".rstrip out_str << "\n:Place of Birth: #{@birth_place}".rstrip out_str << "\n:Gender: #{@gender}".rstrip out_str << "\n:Date of Issue: #{@issuance_date}".rstrip out_str << "\n:Expiry Date: #{@expiry_date}".rstrip out_str << "\n:MRZ Line 1: #{@mrz1}".rstrip out_str << "\n:MRZ Line 2: #{@mrz2}".rstrip out_str[1..].to_s end |