jortt 4.1.0 → 4.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9fb355ea7092b575b6bea7c989535898af0aea62
4
- data.tar.gz: 62f389c052bac3710d7abd9672f1c1b86cb2cfb7
3
+ metadata.gz: 0888e091fcb1156dc527b9cd815d0629b60e411e
4
+ data.tar.gz: e254535aeb502a1c3358df8b0af23eb782b0691e
5
5
  SHA512:
6
- metadata.gz: cbcb1bfc7f77b82498ae2c08feb079a95e965b833774b836e77d6866ffe563cbc5637eaeade9e68a42ee7374b64996dc08f370ee312be48009c4d465d20805d9
7
- data.tar.gz: 94009c1f00dedb5bc269f6496ed20859f998ce0928f331f34dee9ddd78c664ede83279ca68417ca43a0ded29aee277775980df4ace69dd2cc82d1a962e6b857b
6
+ metadata.gz: 11c08eb54b2d3b3f844e17df78c2e580bdb2b036a0d6322624ff352e8f5baf8e8c58cfd6db1340c209872e8513f21ae881216aeb65b6ef69d34aeeaa1220f667
7
+ data.tar.gz: 968c299166179d4d3c43ac37ef500a547c3f9ceea81db998e291dd6bf63593bda65fda12a2252bdbf75dd24bc0cd566cf2f4c93d5c6f3417a87de0f33fec7aaa
data/README.md CHANGED
@@ -27,6 +27,30 @@ jortt = Jortt.client(
27
27
 
28
28
  ### Customers
29
29
 
30
+ All customers (`jortt.customers.all(page: 2, per_page: 25)`) returns:
31
+ ```ruby
32
+ [{
33
+ company_name: 'Jortt',
34
+ address: {
35
+ street: "Transistorstraat 71C",
36
+ postal_code: "1322 CK",
37
+ city: "Almere",
38
+ country_code: "NL"
39
+ }
40
+ },
41
+ {
42
+ company_name: 'Zilverline',
43
+ address: {
44
+ street: "Cruquiusweg",
45
+ ...
46
+ }
47
+ },
48
+ ...
49
+ page: 2,
50
+ per_page: 25
51
+ ]
52
+ ```
53
+
30
54
  Searching customers (`jortt.customers.search('Jortt')`) returns:
31
55
  ```ruby
32
56
  [{
@@ -38,6 +62,7 @@ Searching customers (`jortt.customers.search('Jortt')`) returns:
38
62
  country_code: "NL"
39
63
  }
40
64
  },
65
+ {
41
66
  company_name: 'ttroj',
42
67
  address: {
43
68
  street: "Jorttweg",
@@ -62,13 +87,39 @@ jortt.customers.create(
62
87
  ```
63
88
 
64
89
  ### Invoices
90
+ Get invoices by ID (`jortt.invoices.get('934d59dd-76f6-4716-9e0f-82a618e1be21')`) returns:
91
+ ```ruby
92
+ {
93
+ "invoice_id": "934d59dd-76f6-4716-9e0f-82a618e1be21",
94
+ "recipient": {
95
+ "company_name": "Zilverline B.V.",
96
+ "attn": null,
97
+ "address": {
98
+ "street": "Cruquisweg 109F",
99
+ "city": "Amsterdam",
100
+ "postal_code": "1111SX",
101
+ "country": {
102
+ "code": "NL",
103
+ "name": "Nederland"
104
+ }
105
+ },
106
+ "email": "ben@jortt.nl",
107
+ "customer_id": "e1c5e15b-e34e-423e-a291-4ed43226a190",
108
+ "extra_information": null,
109
+ ...
110
+ }
111
+ ...
112
+ }
113
+ ```
114
+
115
+
65
116
  Searching invoices (`jortt.invoices.search('201606-012')`) returns:
66
117
  ```ruby
67
118
  [
68
119
  {
69
120
  "invoice_id": "934d59dd-76f6-4716-9e0f-82a618e1be21",
70
121
  "recipient": {
71
- "company_name": "Zilverine B.V.",
122
+ "company_name": "Zilverline B.V.",
72
123
  "attn": null,
73
124
  "address": {
74
125
  "street": "Cruquisweg 109F",
@@ -188,3 +239,5 @@ by `require 'jortt/client'` and do your stuff).
188
239
  Make a fix, commit and push. Make sure the build is green. Then bump the
189
240
  version (edit `lib/jortt/client/version.rb`). Now `rake release` and follow
190
241
  the instructions (you need a rubygems.org account and permissions ;-)).
242
+
243
+ Otherwise `gem build jortt.gemspec` and `gem push jortt-[version].gem`.
@@ -27,7 +27,7 @@ Gem::Specification.new do |spec|
27
27
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
28
28
  spec.require_paths = ['lib']
29
29
 
30
- spec.add_runtime_dependency 'rest-client', '~> 1.6'
30
+ spec.add_runtime_dependency 'rest-client', '~> 2.0'
31
31
 
32
32
  spec.add_development_dependency 'bundler', '~> 1.0'
33
33
  spec.add_development_dependency 'codecov', '~> 0.1'
@@ -18,6 +18,18 @@ module Jortt # :nodoc:
18
18
  )
19
19
  end
20
20
 
21
+ ##
22
+ # Returns all customers using the GET /customers/all endpoint.
23
+ #
24
+ # @example
25
+ # Jortt::Client.customers.all(page: 3, per_page: 10)
26
+ #
27
+ def all(page: 1, per_page: 50)
28
+ resource['all'].get(params: {page: page, per_page: per_page}) do |res|
29
+ JSON.parse(res.body)
30
+ end
31
+ end
32
+
21
33
  ##
22
34
  # Creates a Customer using the POST /customers endpoint.
23
35
  # See https://app.jortt.nl/api-documentatie#klant-aanmaken
@@ -40,8 +40,14 @@ module Jortt # :nodoc:
40
40
  end
41
41
  end
42
42
 
43
+ def get(id)
44
+ resource["id/#{id}"].get do |response|
45
+ JSON.parse(response.body)
46
+ end
47
+ end
48
+
43
49
  def search(query)
44
- resource["search"].get(params: {query: query}) do |response|
50
+ resource['search'].get(params: {query: query}) do |response|
45
51
  JSON.parse(response.body)
46
52
  end
47
53
  end
@@ -2,6 +2,6 @@
2
2
  module Jortt
3
3
  # Define the version of +Jortt::Client+
4
4
  class Client
5
- VERSION = '4.1.0'
5
+ VERSION = '4.2.0'
6
6
  end
7
7
  end
@@ -8,6 +8,34 @@ describe Jortt::Client::Customers do
8
8
  )
9
9
  end
10
10
 
11
+ describe '#all' do
12
+ context 'without params' do
13
+ subject { customers.all }
14
+
15
+ before do
16
+ url = 'http://app:secret@foo/customers/all?page=1&per_page=50'
17
+ stub_request(:get, url).
18
+ to_return(status: 200, body: '{"customers": ["foo"]}')
19
+ end
20
+
21
+ it { should eq('customers' => ['foo']) }
22
+ end
23
+
24
+ context 'with params' do
25
+ subject { customers.all(page: page, per_page: per_page) }
26
+ let(:page) { 3 }
27
+ let(:per_page) { 25 }
28
+
29
+ before do
30
+ url = 'http://app:secret@foo/customers/all?page=3&per_page=25'
31
+ stub_request(:get, url).
32
+ to_return(status: 200, body: '{"customers": ["bar"]}')
33
+ end
34
+
35
+ it { should eq('customers' => ['bar']) }
36
+ end
37
+ end
38
+
11
39
  describe '#create' do
12
40
  let(:request_body) { JSON.generate(customer: {line_items: []}) }
13
41
  let(:response_body) { JSON.generate(customer_id: 'abc') }
@@ -20,6 +20,15 @@ describe Jortt::Client::Invoices do
20
20
  it { should eq('invoice_id' => 'abc') }
21
21
  end
22
22
 
23
+ describe '#get' do
24
+ subject { invoices.get('foo') }
25
+ before do
26
+ stub_request(:get, 'http://app:secret@foo/invoices/id/foo').
27
+ to_return(status: 200, body: '{"id": "foo"}')
28
+ end
29
+ it { should eq('id' => 'foo') }
30
+ end
31
+
23
32
  describe '#search' do
24
33
  subject { invoices.search('terms') }
25
34
  before do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jortt
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.1.0
4
+ version: 4.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bob Forma
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2016-07-08 00:00:00.000000000 Z
14
+ date: 2017-06-26 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: rest-client
@@ -19,14 +19,14 @@ dependencies:
19
19
  requirements:
20
20
  - - "~>"
21
21
  - !ruby/object:Gem::Version
22
- version: '1.6'
22
+ version: '2.0'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - "~>"
28
28
  - !ruby/object:Gem::Version
29
- version: '1.6'
29
+ version: '2.0'
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: bundler
32
32
  requirement: !ruby/object:Gem::Requirement
@@ -201,4 +201,3 @@ test_files:
201
201
  - spec/jortt/client_spec.rb
202
202
  - spec/jortt_spec.rb
203
203
  - spec/spec_helper.rb
204
- has_rdoc: