Class: Billy::Invoice

Inherits:
BaseModel show all
Defined in:
lib/billy/invoice.rb

Instance Attribute Summary

Attributes inherited from BaseModel

#attributes

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from BaseModel

#initialize, #method_missing

Constructor Details

This class inherits a constructor from Billy::BaseModel

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Billy::BaseModel

Class Method Details

.find_for_identity(ati_key) ⇒ Object



4
5
6
# File 'lib/billy/invoice.rb', line 4

def self.find_for_identity(ati_key)
  Billy::Request.request('invoices/list_for_identity', :identity => ati_key).map { |p| self.new(p) }
end

Instance Method Details

#add_line(params) ⇒ Object



8
9
10
11
# File 'lib/billy/invoice.rb', line 8

def add_line(params)
  attributes = Billy::Request.request('invoices/add_line', :service => @attributes['service_id'], :invoice => @attributes['number'], :line => params)
  attributes.is_a?(Hash) ? @attributes = attributes : false
end

#deleteObject



32
33
34
# File 'lib/billy/invoice.rb', line 32

def delete
  Billy::Request.request('invoices/delete', :service => @attributes['service_id'], :invoice => @attributes['number'])
end

#delete_line(id) ⇒ Object



13
14
15
16
# File 'lib/billy/invoice.rb', line 13

def delete_line(id)
  attributes = Billy::Request.request('invoices/delete_line', :service => @attributes['service_id'], :invoice => @attributes['number'], :line => id)
  attributes.is_a?(Hash) ? @attributes = attributes : false
end

#finalise!Object



18
19
20
21
22
# File 'lib/billy/invoice.rb', line 18

def finalise!
  attributes = Billy::Request.request('invoices/finalise', :service => @attributes['service_id'], :invoice => @attributes['number'])
  @attributes = attributes
  true
end

#mark_as_paid(method, reference, verifier = nil) ⇒ Object



24
25
26
27
28
29
30
# File 'lib/billy/invoice.rb', line 24

def mark_as_paid(method, reference, verifier = nil)
  options = {:service => @attributes['service_id'], :invoice => @attributes['number'], :payment_method => method, :payment_reference => reference}
  options[:payment_verifier] = verifier if verifier
  attributes = Billy::Request.request('invoices/mark_as_paid', options)
  @attributes = attributes
  true
end

#update(properties) ⇒ Object



36
37
38
39
# File 'lib/billy/invoice.rb', line 36

def update(properties)
  @attributes = Billy::Request.request('invoices/update', :service => @attributes['service_id'], :invoice => @attributes['number'], :properties => properties)
  true
end