Class: FreshBooks::Item

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

Constant Summary collapse

TYPE_MAPPINGS =
{ 'item_id' => Fixnum, 'unit_cost' => Float, 
'quantity' => Fixnum, 'inventory' => Fixnum }

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.delete(item_id) ⇒ Object



372
373
374
375
376
# File 'lib/freshbooks.rb', line 372

def self.delete(item_id)
  resp = FreshBooks::call_api('item.delete', 'item_id' => item_id)

  resp.success?
end

.get(item_id) ⇒ Object



366
367
368
369
370
# File 'lib/freshbooks.rb', line 366

def self.get(item_id)
  resp = FreshBooks::call_api('item.get', 'item_id' => item_id)

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

.list(options = {}) ⇒ Object



378
379
380
381
382
383
384
385
# File 'lib/freshbooks.rb', line 378

def self.list(options = {})
  resp = FreshBooks::call_api('item.list', options)
  
  return nil unless resp.success?

  item_elems = resp.elements[1].elements
  item_elems.map { |elem| self.new_from_xml(elem) }
end

Instance Method Details

#createObject



347
348
349
350
351
352
353
354
# File 'lib/freshbooks.rb', line 347

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

  resp.success? ? self.item_id : nil
end

#deleteObject



362
363
364
# File 'lib/freshbooks.rb', line 362

def delete
  Item::delete(self.item_id)
end

#updateObject



356
357
358
359
360
# File 'lib/freshbooks.rb', line 356

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

  resp.success?
end