Class: FreshBooks::Recurring

Inherits:
Object
  • Object
show all
Defined in:
lib/freshbooks.rb

Constant Summary collapse

TYPE_MAPPINGS =
{ 'client_id' => Fixnum, 'lines' => Array, 
'po_number' => Fixnum, 'discount' => Float, 'amount' => Float,
'occurrences' => Fixnum }

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeRecurring

Returns a new instance of Recurring.



442
443
444
445
# File 'lib/freshbooks.rb', line 442

def initialize
  super
  self.lines ||= []
end

Class Method Details

.delete(recurring_id) ⇒ Object



472
473
474
475
476
# File 'lib/freshbooks.rb', line 472

def self.delete(recurring_id)
  resp = FreshBooks::call_api('recurring.delete', 'recurring_id' => recurring_id)

  resp.success?
end

.get(recurring_id) ⇒ Object



462
463
464
465
466
# File 'lib/freshbooks.rb', line 462

def self.get(recurring_id)
  resp = FreshBooks::call_api('recurring.get', 'recurring_id' => recurring_id)

  resp.success? ? self.new_from_xml(resp.elements[1]) : nil
end

.list(options = {}) ⇒ Object



478
479
480
481
482
483
484
485
486
# File 'lib/freshbooks.rb', line 478

def self.list(options = {})
  resp = FreshBooks::call_api('recurring.list', options)

  return nil unless resp.success?

  recurring_elems = resp.elements[1].elements

  recurring_elems.map { |elem| self.new_from_xml(elem) }
end

Instance Method Details

#createObject



447
448
449
450
451
452
453
454
# File 'lib/freshbooks.rb', line 447

def create
  resp = FreshBooks::call_api('recurring.create', 'recurring' => self)
  if resp.success?
    self.invoice_id = resp.elements[1].text.to_i
  end

  resp.success? ? self.invoice_id : nil
end

#deleteObject



468
469
470
# File 'lib/freshbooks.rb', line 468

def delete
  Recurring::delete(self.recurring_id)
end

#updateObject



456
457
458
459
460
# File 'lib/freshbooks.rb', line 456

def update
  resp = FreshBooks::call_api('recurring.update', 'recurring' => self)

  resp.success?
end