Class: Mindee::Product::Invoice::InvoiceV4LineItems
- Inherits:
-
Array
- Object
- Array
- Mindee::Product::Invoice::InvoiceV4LineItems
- Defined in:
- lib/mindee/product/invoice/invoice_v4_line_items.rb
Overview
List of all the line items present on the invoice.
Instance Attribute Summary collapse
-
#entries ⇒ Array<InvoiceV4LineItem>
readonly
Entries.
Class Method Summary collapse
-
.line_items_separator(char) ⇒ String
Creates a line of rST table-compliant string separators.
Instance Method Summary collapse
-
#initialize(prediction, page_id) ⇒ InvoiceV4LineItems
constructor
A new instance of InvoiceV4LineItems.
- #to_s ⇒ String
Constructor Details
#initialize(prediction, page_id) ⇒ InvoiceV4LineItems
Returns a new instance of InvoiceV4LineItems.
16 17 18 19 20 21 |
# File 'lib/mindee/product/invoice/invoice_v4_line_items.rb', line 16 def initialize(prediction, page_id) entries = prediction.map do |entry| Invoice::InvoiceV4LineItem.new(entry, page_id) end super(entries) end |
Instance Attribute Details
#entries ⇒ Array<InvoiceV4LineItem> (readonly)
Entries.
12 13 14 |
# File 'lib/mindee/product/invoice/invoice_v4_line_items.rb', line 12 def entries @entries end |
Class Method Details
.line_items_separator(char) ⇒ String
Creates a line of rST table-compliant string separators.
26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/mindee/product/invoice/invoice_v4_line_items.rb', line 26 def self.line_items_separator(char) out_str = String.new out_str << "+#{char * 38}" out_str << "+#{char * 14}" out_str << "+#{char * 10}" out_str << "+#{char * 12}" out_str << "+#{char * 14}" out_str << "+#{char * 14}" out_str << "+#{char * 17}" out_str << "+#{char * 12}" out_str end |
Instance Method Details
#to_s ⇒ String
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/mindee/product/invoice/invoice_v4_line_items.rb', line 40 def to_s return '' if empty? lines = map do |entry| "\n #{entry.to_table_line}\n#{self.class.line_items_separator('-')}" end.join out_str = String.new out_str << ("\n#{self.class.line_items_separator('-')}\n ") out_str << ' | Description ' out_str << ' | Product code' out_str << ' | Quantity' out_str << ' | Tax Amount' out_str << ' | Tax Rate (%)' out_str << ' | Total Amount' out_str << ' | Unit of measure' out_str << ' | Unit Price' out_str << (" |\n#{self.class.line_items_separator('=')}") out_str + lines end |