Class: Sunnyside::InvoiceDetail

Inherits:
ParseInvoice show all
Defined in:
lib/sunnyside/ledger/auth_report.rb

Instance Attribute Summary collapse

Attributes inherited from ParseInvoice

#client_line, #visits

Instance Method Summary collapse

Methods inherited from ParseInvoice

#client_data, #invoice_lines, #process

Constructor Details

#initialize(client, invoice_line = {}) ⇒ InvoiceDetail

Returns a new instance of InvoiceDetail.



56
57
58
59
60
61
62
63
64
# File 'lib/sunnyside/ledger/auth_report.rb', line 56

def initialize(client, invoice_line = {})
  @client       = ClientData.new(client)
  @invoice      = invoice_line[:invoice]
  @service_code = invoice_line[:svc_code]
  @modifier     = invoice_line[:modifier]
  @dos          = invoice_line[:dos]
  @units        = invoice_line[:units]
  @amount       = invoice_line[:amount].gsub(/,/, '')
end

Instance Attribute Details

#amountObject (readonly)

Returns the value of attribute amount.



54
55
56
# File 'lib/sunnyside/ledger/auth_report.rb', line 54

def amount
  @amount
end

#clientObject (readonly)

Returns the value of attribute client.



54
55
56
# File 'lib/sunnyside/ledger/auth_report.rb', line 54

def client
  @client
end

#dosObject (readonly)

Returns the value of attribute dos.



54
55
56
# File 'lib/sunnyside/ledger/auth_report.rb', line 54

def dos
  @dos
end

#invoiceObject (readonly)

Returns the value of attribute invoice.



54
55
56
# File 'lib/sunnyside/ledger/auth_report.rb', line 54

def invoice
  @invoice
end

#modifierObject (readonly)

Returns the value of attribute modifier.



54
55
56
# File 'lib/sunnyside/ledger/auth_report.rb', line 54

def modifier
  @modifier
end

#service_codeObject (readonly)

Returns the value of attribute service_code.



54
55
56
# File 'lib/sunnyside/ledger/auth_report.rb', line 54

def service_code
  @service_code
end

#unitsObject (readonly)

Returns the value of attribute units.



54
55
56
# File 'lib/sunnyside/ledger/auth_report.rb', line 54

def units
  @units
end

Instance Method Details

#client_idObject



79
80
81
# File 'lib/sunnyside/ledger/auth_report.rb', line 79

def client_id
  Invoice[invoice].client_id
end

#to_dbObject



66
67
68
69
70
71
72
73
74
75
76
77
# File 'lib/sunnyside/ledger/auth_report.rb', line 66

def to_db
  Visit.insert(
    :client_id    => client_id, 
    :modifier     => modifier, 
    :invoice_id   => invoice,
    :amount       => amount,
    :service_code => service_code,
    :dos          => Date.strptime(dos, '%m/%d/%y'),
    :units        => units
  )
  update_client_demographics
end

#update_client_demographicsObject



83
84
85
86
# File 'lib/sunnyside/ledger/auth_report.rb', line 83

def update_client_demographics
  Invoice[invoice].update(:auth => client.authorization, :recipient_id => client.recipient_id, service_number: client.service_id)
  Client[client_id].update(:recipient_id => client.recipient_id)
end