jortt 4.1.0 → 6.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +5 -5
  2. data/.github/workflows/rspec.yml +27 -0
  3. data/.ruby-version +1 -1
  4. data/README.md +75 -133
  5. data/Rakefile +0 -1
  6. data/jortt.gemspec +7 -7
  7. data/lib/jortt/client/customers.rb +71 -42
  8. data/lib/jortt/client/error.rb +33 -0
  9. data/lib/jortt/client/invoices.rb +55 -31
  10. data/lib/jortt/client/ledger_accounts.rb +27 -0
  11. data/lib/jortt/client/version.rb +1 -2
  12. data/lib/jortt/client.rb +65 -16
  13. data/lib/jortt.rb +0 -1
  14. data/spec/fixtures/vcr_cassettes/Jortt/_client/1_1_1.yml +64 -0
  15. data/spec/fixtures/vcr_cassettes/Jortt_Client/configured/_customers/1_1_1_1.yml +64 -0
  16. data/spec/fixtures/vcr_cassettes/Jortt_Client/configured/_invoices/1_1_2_1.yml +64 -0
  17. data/spec/fixtures/vcr_cassettes/Jortt_Client/configured/_ledger_accounts/1_1_3_1.yml +64 -0
  18. data/spec/fixtures/vcr_cassettes/Jortt_Client_Customers/_create/faulty_payload/shows_a_nice_error.yml +413 -0
  19. data/spec/fixtures/vcr_cassettes/Jortt_Client_Customers/_create/valid_payload/creates_the_customer.yml +505 -0
  20. data/spec/fixtures/vcr_cassettes/Jortt_Client_Customers/_delete/deletes_the_customer.yml +505 -0
  21. data/spec/fixtures/vcr_cassettes/Jortt_Client_Customers/_direct_debit_mandate/sends_direct_debit_mandate_to_the_customer_or_responds_with_an_error_when_not_possible.yml +470 -0
  22. data/spec/fixtures/vcr_cassettes/Jortt_Client_Customers/_index/query/returns_the_queried_customers.yml +464 -0
  23. data/spec/fixtures/vcr_cassettes/Jortt_Client_Customers/_index/without_params/returns_customers.yml +415 -0
  24. data/spec/fixtures/vcr_cassettes/Jortt_Client_Customers/_show/returns_the_customer.yml +464 -0
  25. data/spec/fixtures/vcr_cassettes/Jortt_Client_Customers/_update/updates_the_customer.yml +603 -0
  26. data/spec/fixtures/vcr_cassettes/Jortt_Client_Customers/_vat_percentages/returns_the_vat_percentages.yml +330 -0
  27. data/spec/fixtures/vcr_cassettes/Jortt_Client_Invoices/_create/creates_the_invoice.yml +170 -0
  28. data/spec/fixtures/vcr_cassettes/Jortt_Client_Invoices/_credit/credits_the_invoice.yml +374 -0
  29. data/spec/fixtures/vcr_cassettes/Jortt_Client_Invoices/_download/returns_the_invoice_download_link.yml +168 -0
  30. data/spec/fixtures/vcr_cassettes/Jortt_Client_Invoices/_index/invoice_status/returns_those_invoices.yml +776 -0
  31. data/spec/fixtures/vcr_cassettes/Jortt_Client_Invoices/_index/query/returns_the_queried_invoices.yml +315 -0
  32. data/spec/fixtures/vcr_cassettes/Jortt_Client_Invoices/_show/returns_the_invoice.yml +421 -0
  33. data/spec/fixtures/vcr_cassettes/Jortt_Client_LedgerAccounts/_index/returns_invoices.yml +118 -0
  34. data/spec/jortt/client/customers_spec.rb +109 -20
  35. data/spec/jortt/client/invoices_spec.rb +118 -20
  36. data/spec/jortt/client/ledger_accounts_spec.rb +19 -0
  37. data/spec/jortt/client_spec.rb +5 -27
  38. data/spec/jortt_spec.rb +2 -3
  39. data/spec/spec_helper.rb +18 -4
  40. metadata +85 -41
  41. data/.rubocop.yml +0 -26
  42. data/.travis.yml +0 -7
  43. data/lib/jortt/client/invoice.rb +0 -50
  44. data/spec/jortt/client/invoice_spec.rb +0 -23
metadata CHANGED
@@ -1,46 +1,66 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jortt
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.1.0
4
+ version: 6.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bob Forma
8
8
  - Michael Franken
9
9
  - Lars Vonk
10
10
  - Stephan van Diepen
11
- autorequire:
11
+ autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2016-07-08 00:00:00.000000000 Z
14
+ date: 2021-09-29 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: rest-client
18
+ requirement: !ruby/object:Gem::Requirement
19
+ requirements:
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: '2.0'
23
+ - - "<"
24
+ - !ruby/object:Gem::Version
25
+ version: '2.2'
26
+ type: :runtime
27
+ prerelease: false
28
+ version_requirements: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: '2.0'
33
+ - - "<"
34
+ - !ruby/object:Gem::Version
35
+ version: '2.2'
36
+ - !ruby/object:Gem::Dependency
37
+ name: oauth2
18
38
  requirement: !ruby/object:Gem::Requirement
19
39
  requirements:
20
40
  - - "~>"
21
41
  - !ruby/object:Gem::Version
22
- version: '1.6'
42
+ version: 1.4.4
23
43
  type: :runtime
24
44
  prerelease: false
25
45
  version_requirements: !ruby/object:Gem::Requirement
26
46
  requirements:
27
47
  - - "~>"
28
48
  - !ruby/object:Gem::Version
29
- version: '1.6'
49
+ version: 1.4.4
30
50
  - !ruby/object:Gem::Dependency
31
51
  name: bundler
32
52
  requirement: !ruby/object:Gem::Requirement
33
53
  requirements:
34
54
  - - "~>"
35
55
  - !ruby/object:Gem::Version
36
- version: '1.0'
56
+ version: '2.0'
37
57
  type: :development
38
58
  prerelease: false
39
59
  version_requirements: !ruby/object:Gem::Requirement
40
60
  requirements:
41
61
  - - "~>"
42
62
  - !ruby/object:Gem::Version
43
- version: '1.0'
63
+ version: '2.0'
44
64
  - !ruby/object:Gem::Dependency
45
65
  name: codecov
46
66
  requirement: !ruby/object:Gem::Requirement
@@ -61,28 +81,28 @@ dependencies:
61
81
  requirements:
62
82
  - - "~>"
63
83
  - !ruby/object:Gem::Version
64
- version: '10.0'
84
+ version: '13.0'
65
85
  type: :development
66
86
  prerelease: false
67
87
  version_requirements: !ruby/object:Gem::Requirement
68
88
  requirements:
69
89
  - - "~>"
70
90
  - !ruby/object:Gem::Version
71
- version: '10.0'
91
+ version: '13.0'
72
92
  - !ruby/object:Gem::Dependency
73
93
  name: rspec
74
94
  requirement: !ruby/object:Gem::Requirement
75
95
  requirements:
76
96
  - - "~>"
77
97
  - !ruby/object:Gem::Version
78
- version: '3.4'
98
+ version: '3.7'
79
99
  type: :development
80
100
  prerelease: false
81
101
  version_requirements: !ruby/object:Gem::Requirement
82
102
  requirements:
83
103
  - - "~>"
84
104
  - !ruby/object:Gem::Version
85
- version: '3.4'
105
+ version: '3.7'
86
106
  - !ruby/object:Gem::Dependency
87
107
  name: rspec-its
88
108
  requirement: !ruby/object:Gem::Requirement
@@ -103,43 +123,29 @@ dependencies:
103
123
  requirements:
104
124
  - - "~>"
105
125
  - !ruby/object:Gem::Version
106
- version: '1.17'
107
- type: :development
108
- prerelease: false
109
- version_requirements: !ruby/object:Gem::Requirement
110
- requirements:
111
- - - "~>"
112
- - !ruby/object:Gem::Version
113
- version: '1.17'
114
- - !ruby/object:Gem::Dependency
115
- name: rubocop
116
- requirement: !ruby/object:Gem::Requirement
117
- requirements:
118
- - - "~>"
119
- - !ruby/object:Gem::Version
120
- version: 0.24.1
126
+ version: '3.3'
121
127
  type: :development
122
128
  prerelease: false
123
129
  version_requirements: !ruby/object:Gem::Requirement
124
130
  requirements:
125
131
  - - "~>"
126
132
  - !ruby/object:Gem::Version
127
- version: 0.24.1
133
+ version: '3.3'
128
134
  - !ruby/object:Gem::Dependency
129
- name: rubocop-rspec
135
+ name: vcr
130
136
  requirement: !ruby/object:Gem::Requirement
131
137
  requirements:
132
138
  - - "~>"
133
139
  - !ruby/object:Gem::Version
134
- version: '1.1'
140
+ version: '6.0'
135
141
  type: :development
136
142
  prerelease: false
137
143
  version_requirements: !ruby/object:Gem::Requirement
138
144
  requirements:
139
145
  - - "~>"
140
146
  - !ruby/object:Gem::Version
141
- version: '1.1'
142
- description:
147
+ version: '6.0'
148
+ description:
143
149
  email:
144
150
  - bforma@zilverline.com
145
151
  - mfranken@zilverline.com
@@ -149,10 +155,9 @@ executables: []
149
155
  extensions: []
150
156
  extra_rdoc_files: []
151
157
  files:
158
+ - ".github/workflows/rspec.yml"
152
159
  - ".gitignore"
153
- - ".rubocop.yml"
154
160
  - ".ruby-version"
155
- - ".travis.yml"
156
161
  - Gemfile
157
162
  - LICENSE.txt
158
163
  - README.md
@@ -161,12 +166,33 @@ files:
161
166
  - lib/jortt.rb
162
167
  - lib/jortt/client.rb
163
168
  - lib/jortt/client/customers.rb
164
- - lib/jortt/client/invoice.rb
169
+ - lib/jortt/client/error.rb
165
170
  - lib/jortt/client/invoices.rb
171
+ - lib/jortt/client/ledger_accounts.rb
166
172
  - lib/jortt/client/version.rb
173
+ - spec/fixtures/vcr_cassettes/Jortt/_client/1_1_1.yml
174
+ - spec/fixtures/vcr_cassettes/Jortt_Client/configured/_customers/1_1_1_1.yml
175
+ - spec/fixtures/vcr_cassettes/Jortt_Client/configured/_invoices/1_1_2_1.yml
176
+ - spec/fixtures/vcr_cassettes/Jortt_Client/configured/_ledger_accounts/1_1_3_1.yml
177
+ - spec/fixtures/vcr_cassettes/Jortt_Client_Customers/_create/faulty_payload/shows_a_nice_error.yml
178
+ - spec/fixtures/vcr_cassettes/Jortt_Client_Customers/_create/valid_payload/creates_the_customer.yml
179
+ - spec/fixtures/vcr_cassettes/Jortt_Client_Customers/_delete/deletes_the_customer.yml
180
+ - spec/fixtures/vcr_cassettes/Jortt_Client_Customers/_direct_debit_mandate/sends_direct_debit_mandate_to_the_customer_or_responds_with_an_error_when_not_possible.yml
181
+ - spec/fixtures/vcr_cassettes/Jortt_Client_Customers/_index/query/returns_the_queried_customers.yml
182
+ - spec/fixtures/vcr_cassettes/Jortt_Client_Customers/_index/without_params/returns_customers.yml
183
+ - spec/fixtures/vcr_cassettes/Jortt_Client_Customers/_show/returns_the_customer.yml
184
+ - spec/fixtures/vcr_cassettes/Jortt_Client_Customers/_update/updates_the_customer.yml
185
+ - spec/fixtures/vcr_cassettes/Jortt_Client_Customers/_vat_percentages/returns_the_vat_percentages.yml
186
+ - spec/fixtures/vcr_cassettes/Jortt_Client_Invoices/_create/creates_the_invoice.yml
187
+ - spec/fixtures/vcr_cassettes/Jortt_Client_Invoices/_credit/credits_the_invoice.yml
188
+ - spec/fixtures/vcr_cassettes/Jortt_Client_Invoices/_download/returns_the_invoice_download_link.yml
189
+ - spec/fixtures/vcr_cassettes/Jortt_Client_Invoices/_index/invoice_status/returns_those_invoices.yml
190
+ - spec/fixtures/vcr_cassettes/Jortt_Client_Invoices/_index/query/returns_the_queried_invoices.yml
191
+ - spec/fixtures/vcr_cassettes/Jortt_Client_Invoices/_show/returns_the_invoice.yml
192
+ - spec/fixtures/vcr_cassettes/Jortt_Client_LedgerAccounts/_index/returns_invoices.yml
167
193
  - spec/jortt/client/customers_spec.rb
168
- - spec/jortt/client/invoice_spec.rb
169
194
  - spec/jortt/client/invoices_spec.rb
195
+ - spec/jortt/client/ledger_accounts_spec.rb
170
196
  - spec/jortt/client_spec.rb
171
197
  - spec/jortt_spec.rb
172
198
  - spec/spec_helper.rb
@@ -174,7 +200,7 @@ homepage: https://app.jortt.nl/api-documentatie
174
200
  licenses:
175
201
  - MIT
176
202
  metadata: {}
177
- post_install_message:
203
+ post_install_message:
178
204
  rdoc_options: []
179
205
  require_paths:
180
206
  - lib
@@ -189,16 +215,34 @@ required_rubygems_version: !ruby/object:Gem::Requirement
189
215
  - !ruby/object:Gem::Version
190
216
  version: '0'
191
217
  requirements: []
192
- rubyforge_project:
193
- rubygems_version: 2.5.1
194
- signing_key:
218
+ rubygems_version: 3.2.3
219
+ signing_key:
195
220
  specification_version: 4
196
221
  summary: jortt.nl REST API client
197
222
  test_files:
223
+ - spec/fixtures/vcr_cassettes/Jortt/_client/1_1_1.yml
224
+ - spec/fixtures/vcr_cassettes/Jortt_Client/configured/_customers/1_1_1_1.yml
225
+ - spec/fixtures/vcr_cassettes/Jortt_Client/configured/_invoices/1_1_2_1.yml
226
+ - spec/fixtures/vcr_cassettes/Jortt_Client/configured/_ledger_accounts/1_1_3_1.yml
227
+ - spec/fixtures/vcr_cassettes/Jortt_Client_Customers/_create/faulty_payload/shows_a_nice_error.yml
228
+ - spec/fixtures/vcr_cassettes/Jortt_Client_Customers/_create/valid_payload/creates_the_customer.yml
229
+ - spec/fixtures/vcr_cassettes/Jortt_Client_Customers/_delete/deletes_the_customer.yml
230
+ - spec/fixtures/vcr_cassettes/Jortt_Client_Customers/_direct_debit_mandate/sends_direct_debit_mandate_to_the_customer_or_responds_with_an_error_when_not_possible.yml
231
+ - spec/fixtures/vcr_cassettes/Jortt_Client_Customers/_index/query/returns_the_queried_customers.yml
232
+ - spec/fixtures/vcr_cassettes/Jortt_Client_Customers/_index/without_params/returns_customers.yml
233
+ - spec/fixtures/vcr_cassettes/Jortt_Client_Customers/_show/returns_the_customer.yml
234
+ - spec/fixtures/vcr_cassettes/Jortt_Client_Customers/_update/updates_the_customer.yml
235
+ - spec/fixtures/vcr_cassettes/Jortt_Client_Customers/_vat_percentages/returns_the_vat_percentages.yml
236
+ - spec/fixtures/vcr_cassettes/Jortt_Client_Invoices/_create/creates_the_invoice.yml
237
+ - spec/fixtures/vcr_cassettes/Jortt_Client_Invoices/_credit/credits_the_invoice.yml
238
+ - spec/fixtures/vcr_cassettes/Jortt_Client_Invoices/_download/returns_the_invoice_download_link.yml
239
+ - spec/fixtures/vcr_cassettes/Jortt_Client_Invoices/_index/invoice_status/returns_those_invoices.yml
240
+ - spec/fixtures/vcr_cassettes/Jortt_Client_Invoices/_index/query/returns_the_queried_invoices.yml
241
+ - spec/fixtures/vcr_cassettes/Jortt_Client_Invoices/_show/returns_the_invoice.yml
242
+ - spec/fixtures/vcr_cassettes/Jortt_Client_LedgerAccounts/_index/returns_invoices.yml
198
243
  - spec/jortt/client/customers_spec.rb
199
- - spec/jortt/client/invoice_spec.rb
200
244
  - spec/jortt/client/invoices_spec.rb
245
+ - spec/jortt/client/ledger_accounts_spec.rb
201
246
  - spec/jortt/client_spec.rb
202
247
  - spec/jortt_spec.rb
203
248
  - spec/spec_helper.rb
204
- has_rdoc:
data/.rubocop.yml DELETED
@@ -1,26 +0,0 @@
1
- require: rubocop-rspec
2
-
3
- Style/AccessModifierIndentation:
4
- EnforcedStyle: outdent
5
-
6
- Style/AlignParameters:
7
- EnforcedStyle: with_fixed_indentation
8
-
9
- Style/DotPosition:
10
- EnforcedStyle: trailing
11
-
12
- Style/TrailingComma:
13
- EnforcedStyleForMultiline: comma
14
-
15
- Style/EmptyLinesAroundBody:
16
- Description: "Keeps track of empty lines around expression bodies."
17
- Enabled: false
18
-
19
- Style/RegexpLiteral:
20
- MaxSlashes: 0
21
-
22
- Style/HashSyntax:
23
- EnforcedStyle: ruby19
24
-
25
- Style/SpaceInsideHashLiteralBraces:
26
- EnforcedStyle: no_space
data/.travis.yml DELETED
@@ -1,7 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 2.2.4
4
- - 2.3.0
5
- script:
6
- - bundle exec rspec
7
- - bundle exec rubocop
@@ -1,50 +0,0 @@
1
- # encoding: UTF-8
2
- require 'rest-client'
3
-
4
- module Jortt # :nodoc:
5
- class Client # :nodoc:
6
-
7
- ##
8
- # Exposes the operations available for a single invoice.
9
- #
10
- # @see { Jortt::Client.invoice }
11
- class Invoice
12
-
13
- def initialize(config, id)
14
- @config = config
15
- @id = id
16
- end
17
-
18
- ##
19
- # Sends an Invoice using the POST /invoices/id/:invoice_id/send endpoint.
20
- #
21
- # @example
22
- # Jortt::Client.invoice(:invoice_id).send(
23
- # mail_data: {
24
- # to: 'ben@jortt.nl', # optional
25
- # subject: 'Thank you for your assignment', # optional
26
- # body: 'I hereby send you the invoice', # optional
27
- # },
28
- # invoice_date: Date.today, # optional
29
- # payment_term: 7, # optional
30
- # language: 'nl', # optional
31
- # send_method: 'email', # optional
32
- # )
33
- def send_invoice(payload = {})
34
- resource = RestClient::Resource.new(
35
- "#{config.base_url}/invoices/id/#{id}/send",
36
- user: config.app_name,
37
- password: config.api_key,
38
- )
39
- resource.post(JSON.generate(payload)) do |response|
40
- JSON.parse(response.body)
41
- end
42
- end
43
-
44
- private
45
-
46
- attr_reader :config, :id
47
- end
48
-
49
- end
50
- end
@@ -1,23 +0,0 @@
1
- # encoding: UTF-8
2
- require 'spec_helper'
3
-
4
- describe Jortt::Client::Invoice do
5
- let(:invoice) do
6
- described_class.new(
7
- double(base_url: 'foo', app_name: 'app', api_key: 'secret'),
8
- 'bar',
9
- )
10
- end
11
-
12
- describe '#send_invoice' do
13
- let(:request_body) { JSON.generate(mail_data: {to: 'ben@jortt.nl'}) }
14
- let(:response_body) { JSON.generate(invoice_number: '2016-001') }
15
- subject { invoice.send_invoice(mail_data: {to: 'ben@jortt.nl'}) }
16
- before do
17
- stub_request(:post, 'http://app:secret@foo/invoices/id/bar/send').
18
- with(body: request_body).
19
- to_return(status: 200, body: response_body)
20
- end
21
- it { should eq('invoice_number' => '2016-001') }
22
- end
23
- end