invoiced 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: fa11b34d70bec29ca5779f24577e670d2c353334
4
- data.tar.gz: effd3ba53fa846fc0bfeab4d7857ef175556883a
3
+ metadata.gz: 35c409ed2ae535f3c067050c264aeff63a853721
4
+ data.tar.gz: 3aba150984f9a4f676ff6a64db1165ed0b1a5c7e
5
5
  SHA512:
6
- metadata.gz: 9c4fa6e0cd27496ba092cb48d3f0d150d73ebd337d97afbf262af900693aead1489a3aa92f2055bddb110e33918ad33479dfd62c3d5dd68c3ec924125d42470b
7
- data.tar.gz: ceab2b357f815ddd111bfb6b8efc31800f0d64c4a606e36390dae60ce9552a8e24653fde7968b72a51e0c4161bf0a705e36740353aeaf44ea676cf17a4bd0561
6
+ metadata.gz: 7a6ed8b5a0082fedbbdb8fa7997b6fbe9d00b5f0d66f34f83de38a5733ad5792134a95ea3f57cb842de79773b1a94c7bc1d360ee5c7a3bc81a2bf38396a8a3a5
7
+ data.tar.gz: 8b4400f97f936d70f815bae2d79baf6692bf5916ee06481f3587847448ca2e7684a023b506852a4bd679ff6e0224eadf4e85d9b50da893b1870d476c47499291
data/lib/invoiced.rb CHANGED
@@ -21,11 +21,12 @@ require 'invoiced/attachment'
21
21
  require 'invoiced/contact'
22
22
  require 'invoiced/customer'
23
23
  require 'invoiced/email'
24
+ require 'invoiced/event'
24
25
  require 'invoiced/file'
25
26
  require 'invoiced/invoice'
26
27
  require 'invoiced/line_item'
27
- require 'invoiced/transaction'
28
28
  require 'invoiced/subscription'
29
+ require 'invoiced/transaction'
29
30
 
30
31
  module Invoiced
31
32
  class Client
@@ -33,7 +34,7 @@ module Invoiced
33
34
  ApiBaseSandbox = 'https://api.sandbox.invoiced.com'
34
35
 
35
36
  attr_reader :api_key, :api_url, :sandbox
36
- attr_reader :Customer, :File, :Invoice, :Transaction, :Subscription
37
+ attr_reader :Customer, :Event, :File, :Invoice, :Subscription, :Transaction
37
38
 
38
39
  def initialize(api_key, sandbox=false)
39
40
  @api_key = api_key
@@ -42,10 +43,11 @@ module Invoiced
42
43
 
43
44
  # Object endpoints
44
45
  @Customer = Invoiced::Customer.new(self)
46
+ @Event = Invoiced::Event.new(self)
45
47
  @File = Invoiced::File.new(self)
46
48
  @Invoice = Invoiced::Invoice.new(self)
47
- @Transaction = Invoiced::Transaction.new(self)
48
49
  @Subscription = Invoiced::Subscription.new(self)
50
+ @Transaction = Invoiced::Transaction.new(self)
49
51
  end
50
52
 
51
53
  def request(method, endpoint, params={})
@@ -0,0 +1,5 @@
1
+ module Invoiced
2
+ class Event < Object
3
+ include Invoiced::Operations::List
4
+ end
5
+ end
@@ -160,7 +160,7 @@ module Invoiced
160
160
  begin
161
161
  super
162
162
  rescue NoMethodError => e
163
- raise
163
+ raise e
164
164
  end
165
165
  end
166
166
  end
@@ -1,3 +1,3 @@
1
1
  module Invoiced
2
- VERSION = '0.6.0'
2
+ VERSION = '0.7.0'
3
3
  end
@@ -0,0 +1,29 @@
1
+ require File.expand_path('../../test_helper', __FILE__)
2
+
3
+ module Invoiced
4
+ class EventTest < Test::Unit::TestCase
5
+ should "return the api endpoint" do
6
+ event = Event.new(@client, 123)
7
+ assert_equal('/events/123', event.endpoint())
8
+ end
9
+
10
+ should "list all events" do
11
+ mockResponse = mock('RestClient::Response')
12
+ mockResponse.stubs(:code).returns(200)
13
+ mockResponse.stubs(:body).returns('[{"id":123,"type":"customer.created"}]')
14
+ mockResponse.stubs(:headers).returns(:x_total_count => 15, :link => '<https://api.invoiced.com/events?per_page=25&page=1>; rel="self", <https://api.invoiced.com/events?per_page=25&page=1>; rel="first", <https://api.invoiced.com/events?per_page=25&page=1>; rel="last"')
15
+
16
+ RestClient::Request.any_instance.expects(:execute).returns(mockResponse)
17
+
18
+ events, metadata = @client.Event.list
19
+
20
+ assert_instance_of(Array, events)
21
+ assert_equal(1, events.length)
22
+ assert_instance_of(Invoiced::Event, events[0])
23
+ assert_equal(123, events[0].id)
24
+
25
+ assert_instance_of(Invoiced::List, metadata)
26
+ assert_equal(15, metadata.total_count)
27
+ end
28
+ end
29
+ end
@@ -24,16 +24,16 @@ module Invoiced
24
24
  mockResponse.stubs(:headers).returns(:Header => "test")
25
25
 
26
26
  # not used
27
- expectedParameters = {
28
- :method => "GET",
29
- :url => "https://api.invoiced.com/invoices?test=property&filter[levels]=work",
30
- :headers => {
31
- :authorization => "Basic dGVzdDo=",
32
- :content_type => "application/json",
33
- :user_agent => "Invoiced Ruby/#{Invoiced::VERSION}"
34
- },
35
- :payload => nil
36
- }
27
+ # expectedParameters = {
28
+ # :method => "GET",
29
+ # :url => "https://api.invoiced.com/invoices?test=property&filter[levels]=work",
30
+ # :headers => {
31
+ # :authorization => "Basic dGVzdDo=",
32
+ # :content_type => "application/json",
33
+ # :user_agent => "Invoiced Ruby/#{Invoiced::VERSION}"
34
+ # },
35
+ # :payload => nil
36
+ # }
37
37
 
38
38
  RestClient::Request.any_instance.expects(:execute).returns(mockResponse)
39
39
 
@@ -64,16 +64,16 @@ module Invoiced
64
64
  mockResponse.stubs(:headers).returns(:Header => "test")
65
65
 
66
66
  # not used
67
- expectedParameters = {
68
- :method => "POST",
69
- :url => "https://api.invoiced.com/invoices?test=property&filter[levels]=work",
70
- :headers => {
71
- :authorization => "Basic dGVzdDo=",
72
- :content_type => "application/json",
73
- :user_agent => "Invoiced Ruby/#{Invoiced::VERSION}"
74
- },
75
- :payload => '{"test":"property"}'
76
- }
67
+ # expectedParameters = {
68
+ # :method => "POST",
69
+ # :url => "https://api.invoiced.com/invoices?test=property&filter[levels]=work",
70
+ # :headers => {
71
+ # :authorization => "Basic dGVzdDo=",
72
+ # :content_type => "application/json",
73
+ # :user_agent => "Invoiced Ruby/#{Invoiced::VERSION}"
74
+ # },
75
+ # :payload => '{"test":"property"}'
76
+ # }
77
77
 
78
78
  RestClient::Request.any_instance.expects(:execute).returns(mockResponse)
79
79
 
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.6.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jared King
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-08-21 00:00:00.000000000 Z
11
+ date: 2016-09-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client
@@ -131,6 +131,7 @@ files:
131
131
  - lib/invoiced/error/authentication_error.rb
132
132
  - lib/invoiced/error/error_base.rb
133
133
  - lib/invoiced/error/invalid_request.rb
134
+ - lib/invoiced/event.rb
134
135
  - lib/invoiced/file.rb
135
136
  - lib/invoiced/invoice.rb
136
137
  - lib/invoiced/line_item.rb
@@ -147,6 +148,7 @@ files:
147
148
  - test/invoiced/contact_test.rb
148
149
  - test/invoiced/customer_test.rb
149
150
  - test/invoiced/error_test.rb
151
+ - test/invoiced/event_test.rb
150
152
  - test/invoiced/file_test.rb
151
153
  - test/invoiced/invoice_test.rb
152
154
  - test/invoiced/invoiced_test.rb
@@ -184,6 +186,7 @@ test_files:
184
186
  - test/invoiced/contact_test.rb
185
187
  - test/invoiced/customer_test.rb
186
188
  - test/invoiced/error_test.rb
189
+ - test/invoiced/event_test.rb
187
190
  - test/invoiced/file_test.rb
188
191
  - test/invoiced/invoice_test.rb
189
192
  - test/invoiced/invoiced_test.rb