class Clinvoice::Data

Attributes

client[R]
contractor[R]
currency[R]
due_date[R]
file[R]
invoice_id[R]
issue_date[R]
items[R]
notes[R]
total[R]

Public Class Methods

new(file) click to toggle source
# File lib/clinvoice/data.rb, line 18
def initialize(file)
  filename = file.end_with?('.yml') ? file : "#{file}.yml"

  data = YAML.load_file(filename)['data']

  @file = file
  @invoice_id = data['id']
  @currency = data['currency']
  @issue_date = data['issue_date']
  @contractor = data['contractor']
  @issue_date = data['issue_date']
  @due_date = data['due_date']
  @client = data['client']
  @items = data['items'].map do |item|
    [
      item['description'],
      item['unit_cost'],
      item['quantity'],
      item['quantity'] * item['unit_cost']
    ]
  end

  @notes = data['notes']
  @total = @items.map(&:last).sum
end