class Sunnyside::ParseInvoice
Attributes
client_line[R]
visits[R]
Public Class Methods
new(entry)
click to toggle source
# File lib/sunnyside/ledger/auth_report.rb, line 20 def initialize(entry) @client_line = entry.split(/\n/).select { |line| line =~ /\s+001\s+/ }.join @visits = entry.split(/\n/).select { |line| line =~ /^\d{6}/ } end
Public Instance Methods
client_data()
click to toggle source
# File lib/sunnyside/ledger/auth_report.rb, line 25 def client_data client_line.slice(9..28) + client_line.slice(54..120) end
invoice_lines()
click to toggle source
# File lib/sunnyside/ledger/auth_report.rb, line 29 def invoice_lines visits.map { |inv| InvoiceDetail.new( client_data, { :invoice => inv[0..5], :svc_code => inv[18..22], :modifier => inv[25..30], :dos => inv[57..66], :units => inv[69..75], :amount => inv[79..88] } ) } end
process()
click to toggle source
removes the client name from the line
# File lib/sunnyside/ledger/auth_report.rb, line 45 def process invoice_lines.each { |inv| inv.to_db } end