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 |
# File 'lib/mindee/product/passport/passport_v1_document.rb', line 47 def initialize(prediction, page_id) super() @birth_date = DateField.new(prediction['birth_date'], page_id) @birth_place = StringField.new(prediction['birth_place'], page_id) @country = StringField.new(prediction['country'], page_id) @expiry_date = DateField.new(prediction['expiry_date'], page_id) @gender = StringField.new(prediction['gender'], page_id) @given_names = [] prediction['given_names'].each do |item| @given_names.push(StringField.new(item, page_id)) end @id_number = StringField.new(prediction['id_number'], page_id) @issuance_date = DateField.new(prediction['issuance_date'], page_id) @mrz1 = StringField.new(prediction['mrz1'], page_id) @mrz2 = StringField.new(prediction['mrz2'], page_id) @surname = 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
66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
# File 'lib/mindee/product/passport/passport_v1_document.rb', line 66 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 |