Class: Mindee::V1::Product::InvoiceSplitter::InvoiceSplitterV1Document
- Inherits:
-
Mindee::V1::Parsing::Common::Prediction
- Object
- Mindee::V1::Parsing::Common::Prediction
- Mindee::V1::Product::InvoiceSplitter::InvoiceSplitterV1Document
- Includes:
- Mindee::V1::Parsing::Standard
- Defined in:
- lib/mindee/v1/product/invoice_splitter/invoice_splitter_v1_document.rb,
sig/mindee/v1/product/invoice_splitter/invoice_splitter_v1_document.rbs
Overview
Invoice Splitter API version 1.4 document data.
Direct Known Subclasses
Instance Attribute Summary collapse
-
#invoice_page_groups ⇒ Mindee::V1::Product::InvoiceSplitter::InvoiceSplitterV1InvoicePageGroups
readonly
List of page groups.
Instance Method Summary collapse
-
#initialize(prediction, page_id) ⇒ InvoiceSplitterV1Document
constructor
A new instance of InvoiceSplitterV1Document.
- #invoice_page_groups_separator(char) ⇒ String
- #invoice_page_groups_to_s ⇒ String
- #to_s ⇒ String
Constructor Details
#initialize(prediction, page_id) ⇒ InvoiceSplitterV1Document
Returns a new instance of InvoiceSplitterV1Document.
20 21 22 23 24 25 |
# File 'lib/mindee/v1/product/invoice_splitter/invoice_splitter_v1_document.rb', line 20 def initialize(prediction, page_id) super @invoice_page_groups = InvoiceSplitterV1InvoicePageGroups.new( prediction['invoice_page_groups'], page_id ) end |
Instance Attribute Details
#invoice_page_groups ⇒ Mindee::V1::Product::InvoiceSplitter::InvoiceSplitterV1InvoicePageGroups (readonly)
List of page groups. Each group represents a single invoice within a multi-invoice document.
16 17 18 |
# File 'lib/mindee/v1/product/invoice_splitter/invoice_splitter_v1_document.rb', line 16 def invoice_page_groups @invoice_page_groups end |
Instance Method Details
#invoice_page_groups_separator(char) ⇒ String
40 41 42 43 44 45 46 |
# File 'lib/mindee/v1/product/invoice_splitter/invoice_splitter_v1_document.rb', line 40 def invoice_page_groups_separator(char) out_str = String.new out_str << ' ' out_str << "+#{char * 74}" out_str << '+' out_str end |
#invoice_page_groups_to_s ⇒ String
49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/mindee/v1/product/invoice_splitter/invoice_splitter_v1_document.rb', line 49 def invoice_page_groups_to_s return '' if @invoice_page_groups.empty? line_items = @invoice_page_groups.map(&:to_table_line).join("\n#{invoice_page_groups_separator('-')}\n ") out_str = String.new out_str << "\n#{invoice_page_groups_separator('-')}" out_str << "\n |" out_str << ' Page Indexes |' out_str << "\n#{invoice_page_groups_separator('=')}" out_str << "\n #{line_items}" out_str << "\n#{invoice_page_groups_separator('-')}" out_str end |
#to_s ⇒ String
28 29 30 31 32 33 34 |
# File 'lib/mindee/v1/product/invoice_splitter/invoice_splitter_v1_document.rb', line 28 def to_s invoice_page_groups = invoice_page_groups_to_s out_str = String.new out_str << "\n:Invoice Page Groups:" out_str << invoice_page_groups out_str[1..].to_s end |