class Sunnyside::InvoiceParse

Attributes

client_line[R]
invoice_line[R]
service_lines[R]

Public Class Methods

new(page) click to toggle source
# File lib/sunnyside/ledger/private.rb, line 18
def initialize(page)
  @invoice_line  = page.select { |line| line =~ /[0-9\/]{8}\s+\d{7}/  }.join
  @client_line   = page.select { |line| line =~ /[0-9]{7}\s+[0-9]{7}/ }.join
  @service_lines = page.map    { |line| ServiceLine.new(line) if line =~ /\sHHA\s|\sPCA\s/ }.compact
end

Public Instance Methods

client_number() click to toggle source
# File lib/sunnyside/ledger/private.rb, line 28
def client_number
  client_line[/[0-9]{7}/]
end
invoice() click to toggle source
# File lib/sunnyside/ledger/private.rb, line 24
def invoice
  invoice_line[/(\d{7})$/, 1].gsub(/^0/, '')
end
process() click to toggle source
# File lib/sunnyside/ledger/private.rb, line 32
def process
  service_lines.each { |line| line.to_db(invoice, client_number) }
end