jortt 4.1.0 → 4.2.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: 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: