Class: FreshBooks::Invoice
- Inherits:
-
Object
- Object
- FreshBooks::Invoice
- Defined in:
- lib/freshbooks.rb
Constant Summary collapse
- TYPE_MAPPINGS =
{ 'client_id' => Fixnum, 'lines' => Array, 'po_number' => Fixnum, 'discount' => Float, 'amount' => Float }
Class Method Summary collapse
- .delete(invoice_id) ⇒ Object
- .get(invoice_id) ⇒ Object
- .list(options = {}) ⇒ Object
- .send_by_email(invoice_id) ⇒ Object
- .send_by_snail_mail(invoice_id) ⇒ Object
Instance Method Summary collapse
- #create ⇒ Object
- #delete ⇒ Object
-
#initialize ⇒ Invoice
constructor
A new instance of Invoice.
- #send_by_email ⇒ Object
- #send_by_snail_mail ⇒ Object
- #update ⇒ Object
Constructor Details
#initialize ⇒ Invoice
Returns a new instance of Invoice.
270 271 272 273 |
# File 'lib/freshbooks.rb', line 270 def initialize super self.lines ||= [] end |
Class Method Details
.delete(invoice_id) ⇒ Object
300 301 302 303 304 |
# File 'lib/freshbooks.rb', line 300 def self.delete(invoice_id) resp = FreshBooks::call_api('invoice.delete', 'invoice_id' => invoice_id) resp.success? end |
.get(invoice_id) ⇒ Object
294 295 296 297 298 |
# File 'lib/freshbooks.rb', line 294 def self.get(invoice_id) resp = FreshBooks::call_api('invoice.get', 'invoice_id' => invoice_id) resp.success? ? self.new_from_xml(resp.elements[1]) : nil end |
.list(options = {}) ⇒ Object
306 307 308 309 310 311 312 313 |
# File 'lib/freshbooks.rb', line 306 def self.list( = {}) resp = FreshBooks::call_api('invoice.list', ) return nil unless resp.success? invoice_nodes = resp.elements[1].elements invoice_nodes.map { |elem| self.new_from_xml(elem) } end |
.send_by_email(invoice_id) ⇒ Object
315 316 317 318 319 |
# File 'lib/freshbooks.rb', line 315 def self.send_by_email(invoice_id) resp = FreshBooks::call_api('invoice.sendByEmail', 'invoice_id' => invoice_id) resp.success? end |
.send_by_snail_mail(invoice_id) ⇒ Object
321 322 323 324 325 |
# File 'lib/freshbooks.rb', line 321 def self.send_by_snail_mail(invoice_id) resp = FreshBooks::call_api('invoice.sendBySnailMail', 'invoice_id' => invoice_id) resp.success? end |
Instance Method Details
#create ⇒ Object
275 276 277 278 279 280 281 282 |
# File 'lib/freshbooks.rb', line 275 def create resp = FreshBooks::call_api('invoice.create', 'invoice' => self) if resp.success? self.invoice_id = resp.elements[1].text.to_i end resp.success? ? self.invoice_id : nil end |
#delete ⇒ Object
290 |
# File 'lib/freshbooks.rb', line 290 def delete; Invoice::delete(self.invoice_id); end |
#send_by_email ⇒ Object
291 |
# File 'lib/freshbooks.rb', line 291 def send_by_email; Invoice::send_by_email(self.invoice_id); end |
#send_by_snail_mail ⇒ Object
292 |
# File 'lib/freshbooks.rb', line 292 def send_by_snail_mail; Invoice::send_by_snail_mail(self.invoice_id); end |
#update ⇒ Object
284 285 286 287 288 |
# File 'lib/freshbooks.rb', line 284 def update resp = FreshBooks::call_api('invoice.update', 'invoice' => self) resp.success? end |