tripletexer 0.1.2 → 0.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.
Files changed (38) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +6 -1
  3. data/lib/tripletexer.rb +23 -28
  4. data/lib/tripletexer/api_client.rb +95 -0
  5. data/lib/tripletexer/endpoints/abstract_endpoint.rb +12 -62
  6. data/lib/tripletexer/endpoints/customer.rb +1 -1
  7. data/lib/tripletexer/endpoints/employee.rb +1 -1
  8. data/lib/tripletexer/endpoints/invoice.rb +4 -4
  9. data/lib/tripletexer/endpoints/ledger.rb +10 -10
  10. data/lib/tripletexer/endpoints/ledger/close_group.rb +2 -2
  11. data/lib/tripletexer/endpoints/ledger/posting.rb +2 -2
  12. data/lib/tripletexer/endpoints/ledger/voucher.rb +2 -2
  13. data/lib/tripletexer/endpoints/order.rb +5 -5
  14. data/lib/tripletexer/endpoints/project.rb +1 -1
  15. data/lib/tripletexer/endpoints/timesheet.rb +2 -2
  16. data/lib/tripletexer/endpoints/timesheet/entry.rb +2 -2
  17. data/lib/tripletexer/endpoints/timesheet/time_clock.rb +2 -2
  18. data/lib/tripletexer/endpoints/token.rb +2 -2
  19. data/lib/tripletexer/endpoints/token/session.rb +7 -7
  20. data/lib/tripletexer/format_helpers.rb +8 -5
  21. data/lib/tripletexer/version.rb +1 -1
  22. data/spec/client_spec.rb +56 -0
  23. data/spec/endpoints/order_spec.rb +50 -0
  24. data/spec/endpoints/timesheet_spec.rb +19 -0
  25. data/spec/endpoints/token/session_spec.rb +33 -0
  26. data/spec/endpoints/token_spec.rb +19 -0
  27. data/spec/format_helpers_spec.rb +55 -0
  28. data/spec/spec_helper.rb +111 -0
  29. data/spec/tripletexer_spec.rb +114 -0
  30. data/spec/vcr_cassettes/endpoints/order/find.yml +116 -0
  31. data/spec/vcr_cassettes/endpoints/order/find__unauthorized.yml +71 -0
  32. data/spec/vcr_cassettes/endpoints/order/search.yml +164 -0
  33. data/spec/vcr_cassettes/endpoints/token/session/create.yml +77 -0
  34. data/spec/vcr_cassettes/endpoints/token/session/destroy.yml +295 -0
  35. data/spec/vcr_cassettes/endpoints/token/session/whoami.yml +68 -0
  36. data/spec/web_helper.rb +20 -0
  37. metadata +162 -16
  38. data/lib/tripletexer/connection.rb +0 -49
metadata CHANGED
@@ -1,57 +1,57 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tripletexer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aldis Berjoza
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-09-25 00:00:00.000000000 Z
11
+ date: 2017-09-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '0.13'
19
+ version: 0.10.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '0.13'
26
+ version: 0.10.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: faraday_middleware
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '0.12'
33
+ version: 0.10.1
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: '0.12'
40
+ version: 0.10.1
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: json
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: '2.1'
47
+ version: 1.8.5
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
- version: '2.1'
54
+ version: 1.8.5
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: reek
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -136,6 +136,122 @@ dependencies:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
138
  version: '3.2'
139
+ - !ruby/object:Gem::Dependency
140
+ name: rspec
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: '3.6'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: '3.6'
153
+ - !ruby/object:Gem::Dependency
154
+ name: simplecov
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: 0.15.1
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: 0.15.1
167
+ - !ruby/object:Gem::Dependency
168
+ name: dotenv
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - "~>"
172
+ - !ruby/object:Gem::Version
173
+ version: '2.2'
174
+ - - ">="
175
+ - !ruby/object:Gem::Version
176
+ version: 2.2.1
177
+ type: :development
178
+ prerelease: false
179
+ version_requirements: !ruby/object:Gem::Requirement
180
+ requirements:
181
+ - - "~>"
182
+ - !ruby/object:Gem::Version
183
+ version: '2.2'
184
+ - - ">="
185
+ - !ruby/object:Gem::Version
186
+ version: 2.2.1
187
+ - !ruby/object:Gem::Dependency
188
+ name: vcr
189
+ requirement: !ruby/object:Gem::Requirement
190
+ requirements:
191
+ - - "~>"
192
+ - !ruby/object:Gem::Version
193
+ version: '3.0'
194
+ - - ">="
195
+ - !ruby/object:Gem::Version
196
+ version: 3.0.3
197
+ type: :development
198
+ prerelease: false
199
+ version_requirements: !ruby/object:Gem::Requirement
200
+ requirements:
201
+ - - "~>"
202
+ - !ruby/object:Gem::Version
203
+ version: '3.0'
204
+ - - ">="
205
+ - !ruby/object:Gem::Version
206
+ version: 3.0.3
207
+ - !ruby/object:Gem::Dependency
208
+ name: webmock
209
+ requirement: !ruby/object:Gem::Requirement
210
+ requirements:
211
+ - - "~>"
212
+ - !ruby/object:Gem::Version
213
+ version: '3.0'
214
+ - - ">="
215
+ - !ruby/object:Gem::Version
216
+ version: 3.0.1
217
+ type: :development
218
+ prerelease: false
219
+ version_requirements: !ruby/object:Gem::Requirement
220
+ requirements:
221
+ - - "~>"
222
+ - !ruby/object:Gem::Version
223
+ version: '3.0'
224
+ - - ">="
225
+ - !ruby/object:Gem::Version
226
+ version: 3.0.1
227
+ - !ruby/object:Gem::Dependency
228
+ name: rspec_junit_formatter
229
+ requirement: !ruby/object:Gem::Requirement
230
+ requirements:
231
+ - - "~>"
232
+ - !ruby/object:Gem::Version
233
+ version: '0.3'
234
+ type: :development
235
+ prerelease: false
236
+ version_requirements: !ruby/object:Gem::Requirement
237
+ requirements:
238
+ - - "~>"
239
+ - !ruby/object:Gem::Version
240
+ version: '0.3'
241
+ - !ruby/object:Gem::Dependency
242
+ name: coveralls
243
+ requirement: !ruby/object:Gem::Requirement
244
+ requirements:
245
+ - - ">="
246
+ - !ruby/object:Gem::Version
247
+ version: '0'
248
+ type: :development
249
+ prerelease: false
250
+ version_requirements: !ruby/object:Gem::Requirement
251
+ requirements:
252
+ - - ">="
253
+ - !ruby/object:Gem::Version
254
+ version: '0'
139
255
  description:
140
256
  email:
141
257
  - aldis@berjoza.lv
@@ -146,7 +262,7 @@ files:
146
262
  - LICENSE
147
263
  - README.md
148
264
  - lib/tripletexer.rb
149
- - lib/tripletexer/connection.rb
265
+ - lib/tripletexer/api_client.rb
150
266
  - lib/tripletexer/endpoints.rb
151
267
  - lib/tripletexer/endpoints/abstract_endpoint.rb
152
268
  - lib/tripletexer/endpoints/activity.rb
@@ -187,6 +303,21 @@ files:
187
303
  - lib/tripletexer/errors.rb
188
304
  - lib/tripletexer/format_helpers.rb
189
305
  - lib/tripletexer/version.rb
306
+ - spec/client_spec.rb
307
+ - spec/endpoints/order_spec.rb
308
+ - spec/endpoints/timesheet_spec.rb
309
+ - spec/endpoints/token/session_spec.rb
310
+ - spec/endpoints/token_spec.rb
311
+ - spec/format_helpers_spec.rb
312
+ - spec/spec_helper.rb
313
+ - spec/tripletexer_spec.rb
314
+ - spec/vcr_cassettes/endpoints/order/find.yml
315
+ - spec/vcr_cassettes/endpoints/order/find__unauthorized.yml
316
+ - spec/vcr_cassettes/endpoints/order/search.yml
317
+ - spec/vcr_cassettes/endpoints/token/session/create.yml
318
+ - spec/vcr_cassettes/endpoints/token/session/destroy.yml
319
+ - spec/vcr_cassettes/endpoints/token/session/whoami.yml
320
+ - spec/web_helper.rb
190
321
  homepage: https://github.com/graudeejs/tripletexer
191
322
  licenses:
192
323
  - BSD-2-Clause
@@ -211,4 +342,19 @@ rubygems_version: 2.5.2
211
342
  signing_key:
212
343
  specification_version: 4
213
344
  summary: tripletex.no APIv2 client
214
- test_files: []
345
+ test_files:
346
+ - spec/tripletexer_spec.rb
347
+ - spec/vcr_cassettes/endpoints/order/search.yml
348
+ - spec/vcr_cassettes/endpoints/order/find.yml
349
+ - spec/vcr_cassettes/endpoints/order/find__unauthorized.yml
350
+ - spec/vcr_cassettes/endpoints/token/session/destroy.yml
351
+ - spec/vcr_cassettes/endpoints/token/session/whoami.yml
352
+ - spec/vcr_cassettes/endpoints/token/session/create.yml
353
+ - spec/web_helper.rb
354
+ - spec/client_spec.rb
355
+ - spec/spec_helper.rb
356
+ - spec/endpoints/order_spec.rb
357
+ - spec/endpoints/timesheet_spec.rb
358
+ - spec/endpoints/token/session_spec.rb
359
+ - spec/endpoints/token_spec.rb
360
+ - spec/format_helpers_spec.rb
@@ -1,49 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'json'
4
- require 'faraday'
5
- require 'faraday_middleware'
6
-
7
- class Tripletexer::Connection
8
- ENDPOINT = 'https://tripletex.no/'
9
-
10
- attr_reader :token
11
-
12
- def initialize(object_class: Hash, proxy: nil)
13
- @object_class = object_class
14
- @proxy = proxy
15
- end
16
-
17
- def connection
18
- return @connection if token && @connection
19
- @connection = init_connection
20
- end
21
-
22
- def reset
23
- @token = nil
24
- @connection = nil
25
- nil
26
- end
27
-
28
- def token=(new_token)
29
- reset
30
- @token = new_token
31
- end
32
-
33
- private
34
-
35
- attr_reader :object_class, :proxy
36
-
37
- def init_connection
38
- Faraday.new(url: ENDPOINT) do |faraday|
39
- faraday.response :logger
40
- faraday.response :json, parser_options: { object_class: object_class }, content_type: %r[/json$]
41
- faraday.headers = {
42
- 'Content-Type': 'application/json'
43
- }
44
- faraday.adapter :net_http
45
- faraday.basic_auth(0, token) if token
46
- faraday.proxy = proxy if proxy # https://github.com/lostisland/faraday/issues/733
47
- end
48
- end
49
- end