class Mindee::Product::FR::EnergyBill::EnergyBillV1Document
Energy Bill API version 1.2 document data.
def energy_usage_separator(char)
-
(String)
-
Parameters:
-
char
(String
) --
def energy_usage_separator(char) out_str = String.new out_str << ' ' out_str << "+#{char * 13}" out_str << "+#{char * 38}" out_str << "+#{char * 12}" out_str << "+#{char * 12}" out_str << "+#{char * 10}" out_str << "+#{char * 11}" out_str << "+#{char * 17}" out_str << "+#{char * 12}" out_str << '+' out_str end
def energy_usage_to_s
-
(String)
-
def energy_usage_to_s return '' if @energy_usage.empty? line_items = @energy_usage.map(&:to_table_line).join("\n#{energy_usage_separator('-')}\n ") out_str = String.new out_str << "\n#{energy_usage_separator('-')}" out_str << "\n |" out_str << ' Consumption |' out_str << ' Description |' out_str << ' End Date |' out_str << ' Start Date |' out_str << ' Tax Rate |' out_str << ' Total |' out_str << ' Unit of Measure |' out_str << ' Unit Price |' out_str << "\n#{energy_usage_separator('=')}" out_str << "\n #{line_items}" out_str << "\n#{energy_usage_separator('-')}" out_str end
def initialize(prediction, page_id)
-
page_id
(Integer, nil
) -- -
prediction
(Hash
) --
def initialize(prediction, page_id) super @contract_id = Parsing::Standard::StringField.new( prediction['contract_id'], page_id ) @delivery_point = Parsing::Standard::StringField.new( prediction['delivery_point'], page_id ) @due_date = Parsing::Standard::DateField.new( prediction['due_date'], page_id ) @energy_consumer = Product::FR::EnergyBill::EnergyBillV1EnergyConsumer.new( prediction['energy_consumer'], page_id ) @energy_supplier = Product::FR::EnergyBill::EnergyBillV1EnergySupplier.new( prediction['energy_supplier'], page_id ) @energy_usage = Product::FR::EnergyBill::EnergyBillV1EnergyUsages.new(prediction['energy_usage'], page_id) @invoice_date = Parsing::Standard::DateField.new( prediction['invoice_date'], page_id ) @invoice_number = Parsing::Standard::StringField.new( prediction['invoice_number'], page_id ) @meter_details = Product::FR::EnergyBill::EnergyBillV1MeterDetail.new( prediction['meter_details'], page_id ) @subscription = Product::FR::EnergyBill::EnergyBillV1Subscriptions.new(prediction['subscription'], page_id) @taxes_and_contributions = Product::FR::EnergyBill::EnergyBillV1TaxesAndContributions.new( prediction['taxes_and_contributions'], page_id ) @total_amount = Parsing::Standard::AmountField.new( prediction['total_amount'], page_id ) @total_before_taxes = Parsing::Standard::AmountField.new( prediction['total_before_taxes'], page_id ) @total_taxes = Parsing::Standard::AmountField.new( prediction['total_taxes'], page_id ) end
def subscription_separator(char)
-
(String)
-
Parameters:
-
char
(String
) --
def subscription_separator(char) out_str = String.new out_str << ' ' out_str << "+#{char * 38}" out_str << "+#{char * 12}" out_str << "+#{char * 12}" out_str << "+#{char * 10}" out_str << "+#{char * 11}" out_str << "+#{char * 12}" out_str << '+' out_str end
def subscription_to_s
-
(String)
-
def subscription_to_s return '' if @subscription.empty? line_items = @subscription.map(&:to_table_line).join("\n#{subscription_separator('-')}\n ") out_str = String.new out_str << "\n#{subscription_separator('-')}" out_str << "\n |" out_str << ' Description |' out_str << ' End Date |' out_str << ' Start Date |' out_str << ' Tax Rate |' out_str << ' Total |' out_str << ' Unit Price |' out_str << "\n#{subscription_separator('=')}" out_str << "\n #{line_items}" out_str << "\n#{subscription_separator('-')}" out_str end
def taxes_and_contributions_separator(char)
-
(String)
-
Parameters:
-
char
(String
) --
def taxes_and_contributions_separator(char) out_str = String.new out_str << ' ' out_str << "+#{char * 38}" out_str << "+#{char * 12}" out_str << "+#{char * 12}" out_str << "+#{char * 10}" out_str << "+#{char * 11}" out_str << "+#{char * 12}" out_str << '+' out_str end
def taxes_and_contributions_to_s
-
(String)
-
def taxes_and_contributions_to_s return '' if @taxes_and_contributions.empty? line_items = @taxes_and_contributions.map(&:to_table_line).join( "\n#{taxes_and_contributions_separator('-')}\n " ) out_str = String.new out_str << "\n#{taxes_and_contributions_separator('-')}" out_str << "\n |" out_str << ' Description |' out_str << ' End Date |' out_str << ' Start Date |' out_str << ' Tax Rate |' out_str << ' Total |' out_str << ' Unit Price |' out_str << "\n#{taxes_and_contributions_separator('=')}" out_str << "\n #{line_items}" out_str << "\n#{taxes_and_contributions_separator('-')}" out_str end
def to_s
-
(String)
-
def to_s energy_supplier = @energy_supplier.to_s energy_consumer = @energy_consumer.to_s subscription = subscription_to_s energy_usage = energy_usage_to_s taxes_and_contributions = taxes_and_contributions_to_s meter_details = @meter_details.to_s out_str = String.new out_str << "\n:Invoice Number: #{@invoice_number}".rstrip out_str << "\n:Contract ID: #{@contract_id}".rstrip out_str << "\n:Delivery Point: #{@delivery_point}".rstrip out_str << "\n:Invoice Date: #{@invoice_date}".rstrip out_str << "\n:Due Date: #{@due_date}".rstrip out_str << "\n:Total Before Taxes: #{@total_before_taxes}".rstrip out_str << "\n:Total Taxes: #{@total_taxes}".rstrip out_str << "\n:Total Amount: #{@total_amount}".rstrip out_str << "\n:Energy Supplier:" out_str << energy_supplier out_str << "\n:Energy Consumer:" out_str << energy_consumer out_str << "\n:Subscription:" out_str << subscription out_str << "\n:Energy Usage:" out_str << energy_usage out_str << "\n:Taxes and Contributions:" out_str << taxes_and_contributions out_str << "\n:Meter Details:" out_str << meter_details out_str[1..].to_s end