Class: EasyLabs::Resources::Invoices

Inherits:
Base
  • Object
show all
Defined in:
lib/easylabs/resources/invoices.rb

Instance Method Summary collapse

Methods inherited from Base

#initialize

Constructor Details

This class inherits a constructor from EasyLabs::Resources::Base

Instance Method Details

#create(**body) ⇒ Object



8
9
10
# File 'lib/easylabs/resources/invoices.rb', line 8

def create(**body)
  request(:post, "/invoices", body: body)
end

#list(**query) ⇒ Object



12
13
14
# File 'lib/easylabs/resources/invoices.rb', line 12

def list(**query)
  request(:get, "/invoices", query: query.compact)
end

#pay(id, **body) ⇒ Object



30
31
32
# File 'lib/easylabs/resources/invoices.rb', line 30

def pay(id, **body)
  request(:post, "/invoices/#{id}/pay", body: body)
end

#pdf_data(id) ⇒ Object

GET /invoices/:id/pdf — JSON shaped for client-side PDF rendering.



43
44
45
# File 'lib/easylabs/resources/invoices.rb', line 43

def pdf_data(id)
  request(:get, "/invoices/#{id}/pdf")
end

#remind(id) ⇒ Object



34
35
36
# File 'lib/easylabs/resources/invoices.rb', line 34

def remind(id)
  request(:post, "/invoices/#{id}/remind")
end

#retrieve(id) ⇒ Object



16
17
18
# File 'lib/easylabs/resources/invoices.rb', line 16

def retrieve(id)
  request(:get, "/invoices/#{id}")
end

#send_invoice(id, **body) ⇒ Object

POST /invoices/:id/send — named ‘send_invoice` to avoid collision with Object#send.



26
27
28
# File 'lib/easylabs/resources/invoices.rb', line 26

def send_invoice(id, **body)
  request(:post, "/invoices/#{id}/send", body: body)
end

#update(id, **body) ⇒ Object



20
21
22
# File 'lib/easylabs/resources/invoices.rb', line 20

def update(id, **body)
  request(:patch, "/invoices/#{id}", body: body)
end

#void(id) ⇒ Object



38
39
40
# File 'lib/easylabs/resources/invoices.rb', line 38

def void(id)
  request(:post, "/invoices/#{id}/void")
end