Class: Mindee::Product::Receipt::ReceiptV5LineItems
- Inherits:
-
Array
- Object
- Array
- Mindee::Product::Receipt::ReceiptV5LineItems
- Defined in:
- lib/mindee/product/receipt/receipt_v5_line_items.rb
Overview
List of all line items on the receipt.
Instance Attribute Summary collapse
-
#entries ⇒ Array<ReceiptV5LineItem>
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) ⇒ ReceiptV5LineItems
constructor
A new instance of ReceiptV5LineItems.
- #to_s ⇒ String
Constructor Details
#initialize(prediction, page_id) ⇒ ReceiptV5LineItems
Returns a new instance of ReceiptV5LineItems.
16 17 18 19 20 21 |
# File 'lib/mindee/product/receipt/receipt_v5_line_items.rb', line 16 def initialize(prediction, page_id) entries = prediction.map do |entry| Receipt::ReceiptV5LineItem.new(entry, page_id) end super(entries) end |
Instance Attribute Details
#entries ⇒ Array<ReceiptV5LineItem> (readonly)
Entries.
12 13 14 |
# File 'lib/mindee/product/receipt/receipt_v5_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 |
# File 'lib/mindee/product/receipt/receipt_v5_line_items.rb', line 26 def self.line_items_separator(char) out_str = String.new out_str << "+#{char * 38}" out_str << "+#{char * 10}" out_str << "+#{char * 14}" out_str << "+#{char * 12}" out_str end |
Instance Method Details
#to_s ⇒ String
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/mindee/product/receipt/receipt_v5_line_items.rb', line 36 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 << ' | Quantity' out_str << ' | Total Amount' out_str << ' | Unit Price' out_str << (" |\n#{self.class.line_items_separator('=')}") out_str + lines end |