Class: Mindee::V1::Product::InvoiceSplitter::InvoiceSplitterV1Document

Inherits:
Mindee::V1::Parsing::Common::Prediction show all
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

InvoiceSplitterV1PagePrediction

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(prediction, page_id) ⇒ InvoiceSplitterV1Document

Returns a new instance of InvoiceSplitterV1Document.

Parameters:



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_groupsMindee::V1::Product::InvoiceSplitter::InvoiceSplitterV1InvoicePageGroups (readonly)

List of page groups. Each group represents a single invoice within a multi-invoice document.

Returns:



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

Parameters:

Returns:



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_sString

Returns:



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_sString

Returns:



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