lib/octobat/invoice.rb in octobat-0.0.12 vs lib/octobat/invoice.rb in octobat-2.0.0
- old
+ new
@@ -1,37 +1,86 @@
module Octobat
class Invoice < APIResource
extend Octobat::APIOperations::List
include Octobat::APIOperations::Create
include Octobat::APIOperations::Update
+
+
+ def self.pdf_export(params = {}, opts={})
+ api_key, headers = Util.parse_opts(opts)
+ api_key ||= @api_key
+ opts[:api_key] = api_key
- def pay(payment_data)
- response, api_key = Octobat.request(:patch, pay_url, @api_key, {payment: payment_data})
- refresh_from(response, api_key)
+ instance = self.new(nil, opts)
+
+ response, api_key = Octobat.request(:post, url + '/pdf_export', api_key, params)
+ return true
end
- def send(enforce_errors = false)
- response, api_key = Octobat.request(:post, send_url, @api_key, {enforce_errors: enforce_errors})
- refresh_from(response, api_key)
+ def self.csv_export(params = {}, opts={})
+ api_key, headers = Util.parse_opts(opts)
+ api_key ||= @api_key
+ opts[:api_key] = api_key
+
+ instance = self.new(nil, opts)
+
+ response, api_key = Octobat.request(:post, url + '/csv_export', api_key, params)
+ return true
end
-
+
+ def send_by_email(email_data = {})
+ response, api_key = Octobat.request(:post, send_url, @api_key, email_data)
+ refresh_from(response, api_key)
+ end
+
def confirm
response, api_key = Octobat.request(:patch, confirm_url, @api_key)
refresh_from(response, api_key)
end
+ def cancel
+ response, api_key = Octobat.request(:patch, cancel_url, @api_key)
+ refresh_from(response, api_key)
+ end
+
+ def cancel_and_replace
+ response, api_key = Octobat.request(:patch, cancel_and_replace_url, @api_key)
+ refresh_from(response, api_key)
+ end
+
+ def delete
+ response, api_key = Octobat.request(:delete, url, @api_key)
+ refresh_from(response, api_key)
+ end
+
+ def items(params = {})
+ Item.list(params.merge({ :invoice => id }), @api_key)
+ end
+
+ def transactions(params = {})
+ Transaction.list(params.merge(invoice: id), @api_key)
+ end
+
+
private
- def pay_url
- url + '/pay'
- end
-
def send_url
url + '/send'
end
-
+
def confirm_url
url + '/confirm'
end
+
+ def cancel_url
+ url + '/cancel'
+ end
+
+ def cancel_and_replace_url
+ url + '/cancel_and_replace'
+ end
+
end
+
+
end