Class: Files::Invoice

Inherits:
Object
  • Object
show all
Defined in:
lib/files.com/models/invoice.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(attributes = {}, options = {}) ⇒ Invoice

Returns a new instance of Invoice.



7
8
9
10
# File 'lib/files.com/models/invoice.rb', line 7

def initialize(attributes = {}, options = {})
  @attributes = attributes || {}
  @options = options || {}
end

Instance Attribute Details

#attributesObject (readonly)

Returns the value of attribute attributes.



5
6
7
# File 'lib/files.com/models/invoice.rb', line 5

def attributes
  @attributes
end

#optionsObject (readonly)

Returns the value of attribute options.



5
6
7
# File 'lib/files.com/models/invoice.rb', line 5

def options
  @options
end

Class Method Details

.all(params = {}, options = {}) ⇒ Object



89
90
91
# File 'lib/files.com/models/invoice.rb', line 89

def self.all(params = {}, options = {})
  list(params, options)
end

.find(id, params = {}, options = {}) ⇒ Object

Parameters:

id (required) - int64 - Invoice ID.


95
96
97
98
99
100
101
102
103
# File 'lib/files.com/models/invoice.rb', line 95

def self.find(id, params = {}, options = {})
  params ||= {}
  params[:id] = id
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params[:id] and !params[:id].is_a?(Integer)
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]

  response, options = Api.send_request("/invoices/#{params[:id]}", :get, params, options)
  AccountLineItem.new(response.data, options)
end

.get(id, params = {}, options = {}) ⇒ Object



105
106
107
# File 'lib/files.com/models/invoice.rb', line 105

def self.get(id, params = {}, options = {})
  find(id, params, options)
end

.list(params = {}, options = {}) ⇒ Object

Parameters:

cursor - string - Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.
per_page - int64 - Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).


80
81
82
83
84
85
86
87
# File 'lib/files.com/models/invoice.rb', line 80

def self.list(params = {}, options = {})
  raise InvalidParameterError.new("Bad parameter: cursor must be an String") if params[:cursor] and !params[:cursor].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if params[:per_page] and !params[:per_page].is_a?(Integer)

  List.new(AccountLineItem, params) do
    Api.send_request("/invoices", :get, params, options)
  end
end

Instance Method Details

#amountObject

double - Line item amount



18
19
20
# File 'lib/files.com/models/invoice.rb', line 18

def amount
  @attributes[:amount]
end

#balanceObject

double - Line item balance



23
24
25
# File 'lib/files.com/models/invoice.rb', line 23

def balance
  @attributes[:balance]
end

#created_atObject

date-time - Line item created at



28
29
30
# File 'lib/files.com/models/invoice.rb', line 28

def created_at
  @attributes[:created_at]
end

#currencyObject

string - Line item currency



33
34
35
# File 'lib/files.com/models/invoice.rb', line 33

def currency
  @attributes[:currency]
end

#download_uriObject

string - Line item download uri



38
39
40
# File 'lib/files.com/models/invoice.rb', line 38

def download_uri
  @attributes[:download_uri]
end

#idObject

int64 - Line item Id



13
14
15
# File 'lib/files.com/models/invoice.rb', line 13

def id
  @attributes[:id]
end

#invoice_line_itemsObject

array(object) - Associated invoice line items



43
44
45
# File 'lib/files.com/models/invoice.rb', line 43

def invoice_line_items
  @attributes[:invoice_line_items]
end

#methodObject

string - Line item payment method



48
49
50
# File 'lib/files.com/models/invoice.rb', line 48

def method
  @attributes[:method]
end

#payment_line_itemsObject

array(object) - Associated payment line items



53
54
55
# File 'lib/files.com/models/invoice.rb', line 53

def payment_line_items
  @attributes[:payment_line_items]
end

#payment_reversed_atObject

date-time - Date/time payment was reversed if applicable



58
59
60
# File 'lib/files.com/models/invoice.rb', line 58

def payment_reversed_at
  @attributes[:payment_reversed_at]
end

#payment_typeObject

string - Type of payment if applicable



63
64
65
# File 'lib/files.com/models/invoice.rb', line 63

def payment_type
  @attributes[:payment_type]
end

#site_nameObject

string - Site name this line item is for



68
69
70
# File 'lib/files.com/models/invoice.rb', line 68

def site_name
  @attributes[:site_name]
end

#typeObject

string - Type of line item, either payment or invoice



73
74
75
# File 'lib/files.com/models/invoice.rb', line 73

def type
  @attributes[:type]
end