invoiced 0.0.4 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/invoiced/customer.rb +27 -0
- data/lib/invoiced/email.rb +4 -0
- data/lib/invoiced/invoice.rb +17 -0
- data/lib/invoiced/transaction.rb +14 -0
- data/lib/invoiced/version.rb +1 -1
- data/lib/invoiced.rb +2 -1
- data/test/invoiced/customer_test.rb +14 -0
- data/test/invoiced/invoice_test.rb +38 -0
- data/test/invoiced/transaction_test.rb +38 -0
- metadata +7 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d9ab812bcc11b135cd567621a8388872e4794d41
|
4
|
+
data.tar.gz: ea415b98ad24754e621c1f81a08d15eb6de0c358
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 921af214c15490031e38ce6bc4bf505b35f156c2e52fe6baa3f480b8855d010aea4f023e50f4fde4f3871d9b60444c310304544f35f29cda01f45aaa1e184adc
|
7
|
+
data.tar.gz: cba482dc00f4be0eae7ba4edb8b8a2d122fcf6cef30e1c63221154104fb1e05101f77073b47d4713d0117e1289dd7416671fc37ab4b7009f2ddbbea0953e6a2c
|
data/lib/invoiced/customer.rb
CHANGED
@@ -4,5 +4,32 @@ module Invoiced
|
|
4
4
|
include Invoiced::Operations::Create
|
5
5
|
include Invoiced::Operations::Update
|
6
6
|
include Invoiced::Operations::Delete
|
7
|
+
|
8
|
+
def send_statement(opts={})
|
9
|
+
response = @client.request(:post, "#{@endpoint}/emails", opts)
|
10
|
+
|
11
|
+
# build email objects
|
12
|
+
email = Email.new(@client)
|
13
|
+
Util.build_objects(email, response[:body])
|
14
|
+
end
|
15
|
+
|
16
|
+
def balance
|
17
|
+
response = @client.request(:get, "#{@endpoint}/balance")
|
18
|
+
|
19
|
+
response[:body]
|
20
|
+
end
|
21
|
+
|
22
|
+
def subscriptions(opts={})
|
23
|
+
response = @client.request(:get, "#{@endpoint}/subscriptions", opts)
|
24
|
+
|
25
|
+
# build objects
|
26
|
+
subscription = Subscription.new(@client)
|
27
|
+
subscriptions = Util.build_objects(subscription, response[:body])
|
28
|
+
|
29
|
+
# store the metadata from the list operation
|
30
|
+
metadata = Invoiced::List.new(response[:headers][:link], response[:headers][:x_total_count])
|
31
|
+
|
32
|
+
return subscriptions, metadata
|
33
|
+
end
|
7
34
|
end
|
8
35
|
end
|
data/lib/invoiced/invoice.rb
CHANGED
@@ -4,5 +4,22 @@ module Invoiced
|
|
4
4
|
include Invoiced::Operations::Create
|
5
5
|
include Invoiced::Operations::Update
|
6
6
|
include Invoiced::Operations::Delete
|
7
|
+
|
8
|
+
def send(opts={})
|
9
|
+
response = @client.request(:post, "#{@endpoint}/emails", opts)
|
10
|
+
|
11
|
+
# build email objects
|
12
|
+
email = Email.new(@client)
|
13
|
+
Util.build_objects(email, response[:body])
|
14
|
+
end
|
15
|
+
|
16
|
+
def pay
|
17
|
+
response = @client.request(:post, "#{@endpoint}/pay")
|
18
|
+
|
19
|
+
# update the local values with the response
|
20
|
+
@values = response[:body].dup.merge({:id => self.id})
|
21
|
+
|
22
|
+
return response[:code] == 200
|
23
|
+
end
|
7
24
|
end
|
8
25
|
end
|
data/lib/invoiced/transaction.rb
CHANGED
@@ -4,5 +4,19 @@ module Invoiced
|
|
4
4
|
include Invoiced::Operations::Create
|
5
5
|
include Invoiced::Operations::Update
|
6
6
|
include Invoiced::Operations::Delete
|
7
|
+
|
8
|
+
def send(opts={})
|
9
|
+
response = @client.request(:post, "#{@endpoint}/emails", opts)
|
10
|
+
|
11
|
+
# build email objects
|
12
|
+
email = Email.new(@client)
|
13
|
+
Util.build_objects(email, response[:body])
|
14
|
+
end
|
15
|
+
|
16
|
+
def refund(opts={})
|
17
|
+
response = @client.request(:post, "#{@endpoint}/refunds", opts)
|
18
|
+
|
19
|
+
Util.convert_to_object(self, response[:body])
|
20
|
+
end
|
7
21
|
end
|
8
22
|
end
|
data/lib/invoiced/version.rb
CHANGED
data/lib/invoiced.rb
CHANGED
@@ -17,6 +17,7 @@ require 'invoiced/operations/update'
|
|
17
17
|
|
18
18
|
require 'invoiced/object'
|
19
19
|
require 'invoiced/customer'
|
20
|
+
require 'invoiced/email'
|
20
21
|
require 'invoiced/invoice'
|
21
22
|
require 'invoiced/transaction'
|
22
23
|
require 'invoiced/plan'
|
@@ -137,7 +138,7 @@ module Invoiced
|
|
137
138
|
end
|
138
139
|
|
139
140
|
def api_error(error, response)
|
140
|
-
raise ApiError.new("
|
141
|
+
raise ApiError.new(error["message"], response.code, error)
|
141
142
|
end
|
142
143
|
|
143
144
|
def general_api_error(code, body)
|
@@ -20,6 +20,20 @@ module Invoiced
|
|
20
20
|
assert_true(customer.save)
|
21
21
|
end
|
22
22
|
|
23
|
+
should "send an account statement" do
|
24
|
+
customer = Customer.new(@client, 1234)
|
25
|
+
emails = customer.send_statement
|
26
|
+
end
|
27
|
+
|
28
|
+
should "retrieve a customer's balance" do
|
29
|
+
customer = Customer.new(@client, 1234)
|
30
|
+
balance = customer.balance
|
31
|
+
end
|
32
|
+
|
33
|
+
should "list all of the customer's subscriptions" do
|
34
|
+
@client.Customer.subscriptions
|
35
|
+
end
|
36
|
+
|
23
37
|
should "delete a customer" do
|
24
38
|
customer = Customer.new(@client, 1234)
|
25
39
|
assert_true(customer.delete)
|
@@ -0,0 +1,38 @@
|
|
1
|
+
require File.expand_path('../../test_helper', __FILE__)
|
2
|
+
|
3
|
+
module Invoiced
|
4
|
+
class InvoiceTest < Test::Unit::TestCase
|
5
|
+
should "create an invoice" do
|
6
|
+
invoice = @client.Invoice.create({:customer => 123})
|
7
|
+
end
|
8
|
+
|
9
|
+
should "list all invoices" do
|
10
|
+
@client.Invoice.list
|
11
|
+
end
|
12
|
+
|
13
|
+
should "retrieve an invoice" do
|
14
|
+
invoice = @client.Invoice.retrieve(1234)
|
15
|
+
end
|
16
|
+
|
17
|
+
should "update an invoice" do
|
18
|
+
invoice = Invoice.new(@client, 1234)
|
19
|
+
invoice.notes = 'Test'
|
20
|
+
assert_true(invoice.save)
|
21
|
+
end
|
22
|
+
|
23
|
+
should "send an invoice" do
|
24
|
+
invoice = Invoice.new(@client, 1234)
|
25
|
+
emails = invoice.send
|
26
|
+
end
|
27
|
+
|
28
|
+
should "pay an invoice" do
|
29
|
+
invoice = Invoice.new(@client, 1234)
|
30
|
+
assert_true(invoice.pay)
|
31
|
+
end
|
32
|
+
|
33
|
+
should "delete an invoice" do
|
34
|
+
invoie = Invoice.new(@client, 1234)
|
35
|
+
assert_true(invoice.delete)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
require File.expand_path('../../test_helper', __FILE__)
|
2
|
+
|
3
|
+
module Invoiced
|
4
|
+
class TransactionTest < Test::Unit::TestCase
|
5
|
+
should "create a transaction" do
|
6
|
+
transaction = @client.Transaction.create({:invoice => 123, :amount => 800})
|
7
|
+
end
|
8
|
+
|
9
|
+
should "list all transactions" do
|
10
|
+
@client.Transaction.list
|
11
|
+
end
|
12
|
+
|
13
|
+
should "retrieve a transaction" do
|
14
|
+
transaction = @client.Transaction.retrieve(1234)
|
15
|
+
end
|
16
|
+
|
17
|
+
should "update a transaction" do
|
18
|
+
transaction = Transaction.new(@client, 1234)
|
19
|
+
transaction.notes = 'Update'
|
20
|
+
assert_true(transaction.save)
|
21
|
+
end
|
22
|
+
|
23
|
+
should "send a payment receipt" do
|
24
|
+
transaction = Transaction.new(@client, 1234)
|
25
|
+
emails = transaction.send
|
26
|
+
end
|
27
|
+
|
28
|
+
should "refund a transaction" do
|
29
|
+
transaction = Transaction.new(@client, 1234)
|
30
|
+
refund = transaction.refund({:amount => 800})
|
31
|
+
end
|
32
|
+
|
33
|
+
should "delete a transaction" do
|
34
|
+
transaction = Transaction.new(@client, 1234)
|
35
|
+
assert_true(transaction.delete)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: invoiced
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jared King
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-08-
|
11
|
+
date: 2015-08-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rest-client
|
@@ -123,6 +123,7 @@ files:
|
|
123
123
|
- invoiced.gemspec
|
124
124
|
- lib/invoiced.rb
|
125
125
|
- lib/invoiced/customer.rb
|
126
|
+
- lib/invoiced/email.rb
|
126
127
|
- lib/invoiced/error/api_error.rb
|
127
128
|
- lib/invoiced/error/authentication_error.rb
|
128
129
|
- lib/invoiced/error/error_base.rb
|
@@ -140,7 +141,9 @@ files:
|
|
140
141
|
- lib/invoiced/util.rb
|
141
142
|
- lib/invoiced/version.rb
|
142
143
|
- test/invoiced/customer_test.rb
|
144
|
+
- test/invoiced/invoice_test.rb
|
143
145
|
- test/invoiced/invoiced_test.rb
|
146
|
+
- test/invoiced/transaction_test.rb
|
144
147
|
- test/invoiced/util_test.rb
|
145
148
|
- test/test_helper.rb
|
146
149
|
homepage: https://developers.invoiced.com
|
@@ -169,7 +172,9 @@ specification_version: 4
|
|
169
172
|
summary: Ruby client library for the Invoiced API
|
170
173
|
test_files:
|
171
174
|
- test/invoiced/customer_test.rb
|
175
|
+
- test/invoiced/invoice_test.rb
|
172
176
|
- test/invoiced/invoiced_test.rb
|
177
|
+
- test/invoiced/transaction_test.rb
|
173
178
|
- test/invoiced/util_test.rb
|
174
179
|
- test/test_helper.rb
|
175
180
|
has_rdoc:
|