class TortoiseLabs::Invoice

Attributes

creation_ts[R]
id[R]
items[R]
payment_ts[R]
total[R]
user[R]

Public Class Methods

add_credit(amount) click to toggle source
# File lib/tortoiselabs/billing.rb, line 35
def self.add_credit(amount)
  response = TortoiseLabs::Client.post("/invoice/svccredit",
                                      {:creditamt => amount})
  return response.request.last_uri.to_s
end
get(id) click to toggle source
# File lib/tortoiselabs/billing.rb, line 41
def self.get(id)
  result = TortoiseLabs::Client.get("/invoice/#{id}")
  self.new(JSON.parse(result)["invoice"])
end
list() click to toggle source

Class Methods

# File lib/tortoiselabs/billing.rb, line 25
def self.list
  result = TortoiseLabs::Client.get("/invoice/list")
  invoices = Array.new
  JSON.parse(result)["invoices"].each do |invoice|
    obj = self.new(invoice)
    invoices << obj
  end
  invoices
end
new(ihash) click to toggle source
# File lib/tortoiselabs/billing.rb, line 5
def initialize(ihash)
  @creation_ts, @total = ihash["creation_ts"], ihash["total"]
  @payment_ts, @user = ihash["payment_ts"], ihash["user"]
  @id = ihash["invoice"]
  @items = Array.new
  
  ihash["items"].each do |itemhash|
    obj = Item.new(itemhash)
    @items << obj
  end
end

Public Instance Methods

to_s() click to toggle source

Instance methods

# File lib/tortoiselabs/billing.rb, line 19
def to_s
  "Invoice ##{@id}"
end