fortnox-api 0.8.0 → 0.8.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (197) hide show
  1. checksums.yaml +4 -4
  2. data/.codeclimate.yml +1 -0
  3. data/.rubocop.yml +1 -1
  4. data/.tool-versions +1 -0
  5. data/.travis.yml +5 -3
  6. data/CHANGELOG.md +37 -3
  7. data/fortnox-api.gemspec +22 -17
  8. data/lib/fortnox/api/mappers/article.rb +1 -1
  9. data/lib/fortnox/api/mappers/base/from_json.rb +1 -1
  10. data/lib/fortnox/api/mappers/base/to_json.rb +2 -2
  11. data/lib/fortnox/api/mappers/base.rb +3 -3
  12. data/lib/fortnox/api/mappers/customer.rb +1 -1
  13. data/lib/fortnox/api/mappers/default_delivery_types.rb +1 -1
  14. data/lib/fortnox/api/mappers/default_templates.rb +1 -1
  15. data/lib/fortnox/api/mappers/edi_information.rb +1 -1
  16. data/lib/fortnox/api/mappers/email_information.rb +1 -1
  17. data/lib/fortnox/api/mappers/invoice.rb +4 -4
  18. data/lib/fortnox/api/mappers/invoice_row.rb +1 -1
  19. data/lib/fortnox/api/mappers/order.rb +4 -4
  20. data/lib/fortnox/api/mappers/order_row.rb +1 -1
  21. data/lib/fortnox/api/mappers/project.rb +1 -1
  22. data/lib/fortnox/api/mappers/terms_of_payment.rb +1 -1
  23. data/lib/fortnox/api/mappers/unit.rb +1 -1
  24. data/lib/fortnox/api/mappers/value/country_string.rb +1 -1
  25. data/lib/fortnox/api/mappers.rb +18 -18
  26. data/lib/fortnox/api/models/article.rb +2 -2
  27. data/lib/fortnox/api/models/base.rb +14 -14
  28. data/lib/fortnox/api/models/customer.rb +2 -2
  29. data/lib/fortnox/api/models/document.rb +2 -2
  30. data/lib/fortnox/api/models/invoice.rb +2 -2
  31. data/lib/fortnox/api/models/label.rb +1 -1
  32. data/lib/fortnox/api/models/order.rb +2 -2
  33. data/lib/fortnox/api/models/project.rb +2 -2
  34. data/lib/fortnox/api/models/terms_of_payment.rb +2 -2
  35. data/lib/fortnox/api/models/unit.rb +2 -2
  36. data/lib/fortnox/api/models.rb +7 -7
  37. data/lib/fortnox/api/repositories/article.rb +3 -3
  38. data/lib/fortnox/api/repositories/base.rb +4 -3
  39. data/lib/fortnox/api/repositories/customer.rb +3 -3
  40. data/lib/fortnox/api/repositories/invoice.rb +3 -3
  41. data/lib/fortnox/api/repositories/order.rb +3 -3
  42. data/lib/fortnox/api/repositories/project.rb +3 -3
  43. data/lib/fortnox/api/repositories/terms_of_payment.rb +3 -3
  44. data/lib/fortnox/api/repositories/unit.rb +3 -3
  45. data/lib/fortnox/api/repositories.rb +7 -7
  46. data/lib/fortnox/api/types/default_delivery_types.rb +0 -2
  47. data/lib/fortnox/api/types/default_templates.rb +0 -2
  48. data/lib/fortnox/api/types/edi_information.rb +0 -2
  49. data/lib/fortnox/api/types/email_information.rb +0 -2
  50. data/lib/fortnox/api/types/invoice_row.rb +1 -1
  51. data/lib/fortnox/api/types/model.rb +4 -6
  52. data/lib/fortnox/api/types/nullable.rb +13 -9
  53. data/lib/fortnox/api/types/order_row.rb +1 -1
  54. data/lib/fortnox/api/types/required.rb +3 -3
  55. data/lib/fortnox/api/types/sized.rb +2 -2
  56. data/lib/fortnox/api/types.rb +17 -22
  57. data/lib/fortnox/api/version.rb +1 -1
  58. data/lib/fortnox/api.rb +18 -16
  59. data/spec/fortnox/api/mappers/base/canonical_name_sym_spec.rb +9 -7
  60. data/spec/fortnox/api/mappers/default_delivery_types_spec.rb +1 -1
  61. data/spec/fortnox/api/mappers/examples/mapper.rb +1 -1
  62. data/spec/fortnox/api/models/base_spec.rb +8 -8
  63. data/spec/fortnox/api/repositories/article_spec.rb +2 -2
  64. data/spec/fortnox/api/repositories/base_spec.rb +4 -12
  65. data/spec/fortnox/api/repositories/customer_spec.rb +1 -1
  66. data/spec/fortnox/api/repositories/invoice_spec.rb +0 -6
  67. data/spec/fortnox/api/repositories/project_spec.rb +1 -1
  68. data/spec/fortnox/api/repositories/terms_of_payment_spec.rb +2 -2
  69. data/spec/fortnox/api/repositories/unit_spec.rb +3 -3
  70. data/spec/fortnox/api/types/housework_types_spec.rb +0 -29
  71. data/spec/fortnox/api/types/model_spec.rb +11 -17
  72. data/spec/fortnox/api/types/nullable_spec.rb +30 -10
  73. data/spec/fortnox/api/types/required_spec.rb +1 -4
  74. data/spec/support/matchers/type/enum_matcher.rb +1 -1
  75. data/spec/support/matchers/type/have_account_number_matcher.rb +1 -1
  76. data/spec/support/matchers/type/have_email_matcher.rb +1 -1
  77. data/spec/support/matchers/type/have_nullable_date_matcher.rb +5 -5
  78. data/spec/support/matchers/type/have_nullable_string_matcher.rb +3 -3
  79. data/spec/vcr_cassettes/articles/all.yml +30 -20
  80. data/spec/vcr_cassettes/articles/find_by_hash_failure.yml +25 -19
  81. data/spec/vcr_cassettes/articles/find_failure.yml +25 -19
  82. data/spec/vcr_cassettes/articles/find_id_1.yml +26 -20
  83. data/spec/vcr_cassettes/articles/find_new.yml +28 -22
  84. data/spec/vcr_cassettes/articles/multi_param_find_by_hash.yml +25 -19
  85. data/spec/vcr_cassettes/articles/save_new.yml +27 -21
  86. data/spec/vcr_cassettes/articles/save_old.yml +28 -22
  87. data/spec/vcr_cassettes/articles/save_with_specially_named_attribute.yml +27 -21
  88. data/spec/vcr_cassettes/articles/search_by_name.yml +25 -19
  89. data/spec/vcr_cassettes/articles/search_miss.yml +25 -19
  90. data/spec/vcr_cassettes/articles/search_with_special_char.yml +25 -19
  91. data/spec/vcr_cassettes/articles/single_param_find_by_hash.yml +28 -21
  92. data/spec/vcr_cassettes/customers/all.yml +26 -20
  93. data/spec/vcr_cassettes/customers/find_by_hash_failure.yml +25 -19
  94. data/spec/vcr_cassettes/customers/find_failure.yml +25 -19
  95. data/spec/vcr_cassettes/customers/find_id_1.yml +25 -19
  96. data/spec/vcr_cassettes/customers/find_new.yml +27 -21
  97. data/spec/vcr_cassettes/customers/multi_param_find_by_hash.yml +25 -19
  98. data/spec/vcr_cassettes/customers/save_new.yml +26 -20
  99. data/spec/vcr_cassettes/customers/save_new_with_country_code_SE.yml +26 -20
  100. data/spec/vcr_cassettes/customers/save_old.yml +27 -21
  101. data/spec/vcr_cassettes/customers/save_with_specially_named_attribute.yml +26 -20
  102. data/spec/vcr_cassettes/customers/search_by_name.yml +28 -20
  103. data/spec/vcr_cassettes/customers/search_miss.yml +25 -19
  104. data/spec/vcr_cassettes/customers/search_with_special_char.yml +25 -19
  105. data/spec/vcr_cassettes/customers/single_param_find_by_hash.yml +25 -19
  106. data/spec/vcr_cassettes/invoices/all.yml +26 -20
  107. data/spec/vcr_cassettes/invoices/filter_hit.yml +25 -19
  108. data/spec/vcr_cassettes/invoices/filter_invalid.yml +25 -19
  109. data/spec/vcr_cassettes/invoices/find_by_hash_failure.yml +25 -19
  110. data/spec/vcr_cassettes/invoices/find_failure.yml +25 -19
  111. data/spec/vcr_cassettes/invoices/find_id_1.yml +26 -20
  112. data/spec/vcr_cassettes/invoices/find_new.yml +30 -24
  113. data/spec/vcr_cassettes/invoices/multi_param_find_by_hash.yml +25 -19
  114. data/spec/vcr_cassettes/invoices/save_new.yml +29 -23
  115. data/spec/vcr_cassettes/invoices/save_new_with_comments.yml +29 -23
  116. data/spec/vcr_cassettes/invoices/save_new_with_country.yml +28 -22
  117. data/spec/vcr_cassettes/invoices/save_new_with_country_GB.yml +29 -23
  118. data/spec/vcr_cassettes/invoices/save_new_with_country_Norge.yml +28 -22
  119. data/spec/vcr_cassettes/invoices/save_new_with_country_Norway.yml +28 -22
  120. data/spec/vcr_cassettes/invoices/save_new_with_country_Sverige.yml +28 -22
  121. data/spec/vcr_cassettes/invoices/save_new_with_country_VA.yml +29 -23
  122. data/spec/vcr_cassettes/invoices/save_new_with_country_VI.yml +29 -23
  123. data/spec/vcr_cassettes/invoices/save_new_with_country_empty_string.yml +28 -22
  124. data/spec/vcr_cassettes/invoices/save_new_with_country_nil.yml +28 -22
  125. data/spec/vcr_cassettes/invoices/save_old.yml +30 -24
  126. data/spec/vcr_cassettes/invoices/save_old_with_empty_comments.yml +30 -24
  127. data/spec/vcr_cassettes/invoices/save_old_with_empty_country.yml +29 -23
  128. data/spec/vcr_cassettes/invoices/save_old_with_nil_comments.yml +30 -24
  129. data/spec/vcr_cassettes/invoices/save_old_with_nil_country.yml +29 -23
  130. data/spec/vcr_cassettes/invoices/save_with_nested_model.yml +28 -22
  131. data/spec/vcr_cassettes/invoices/save_with_specially_named_attribute.yml +28 -22
  132. data/spec/vcr_cassettes/invoices/search_by_name.yml +25 -19
  133. data/spec/vcr_cassettes/invoices/search_miss.yml +25 -19
  134. data/spec/vcr_cassettes/invoices/search_with_special_char.yml +25 -19
  135. data/spec/vcr_cassettes/invoices/single_param_find_by_hash.yml +25 -19
  136. data/spec/vcr_cassettes/orders/all.yml +26 -20
  137. data/spec/vcr_cassettes/orders/filter_hit.yml +25 -19
  138. data/spec/vcr_cassettes/orders/filter_invalid.yml +25 -19
  139. data/spec/vcr_cassettes/orders/find_by_hash_failure.yml +25 -19
  140. data/spec/vcr_cassettes/orders/find_failure.yml +25 -19
  141. data/spec/vcr_cassettes/orders/find_id_1.yml +25 -19
  142. data/spec/vcr_cassettes/orders/find_new.yml +29 -23
  143. data/spec/vcr_cassettes/orders/housework_invalid_tax_reduction_type.yml +25 -19
  144. data/spec/vcr_cassettes/orders/housework_othercoses_invalid.yml +25 -19
  145. data/spec/vcr_cassettes/orders/housework_type_babysitting.yml +28 -22
  146. data/spec/vcr_cassettes/orders/housework_type_cleaning.yml +28 -22
  147. data/spec/vcr_cassettes/orders/housework_type_construction.yml +28 -22
  148. data/spec/vcr_cassettes/orders/housework_type_cooking.yml +25 -19
  149. data/spec/vcr_cassettes/orders/housework_type_electricity.yml +28 -22
  150. data/spec/vcr_cassettes/orders/housework_type_gardening.yml +28 -22
  151. data/spec/vcr_cassettes/orders/housework_type_glassmetalwork.yml +28 -22
  152. data/spec/vcr_cassettes/orders/housework_type_grounddrainagework.yml +28 -22
  153. data/spec/vcr_cassettes/orders/housework_type_hvac.yml +28 -22
  154. data/spec/vcr_cassettes/orders/housework_type_itservices.yml +28 -22
  155. data/spec/vcr_cassettes/orders/housework_type_majorappliancerepair.yml +28 -22
  156. data/spec/vcr_cassettes/orders/housework_type_masonry.yml +28 -22
  157. data/spec/vcr_cassettes/orders/housework_type_movingservices.yml +28 -22
  158. data/spec/vcr_cassettes/orders/housework_type_othercare.yml +28 -22
  159. data/spec/vcr_cassettes/orders/housework_type_othercosts.yml +28 -22
  160. data/spec/vcr_cassettes/orders/housework_type_paintingwallpapering.yml +28 -22
  161. data/spec/vcr_cassettes/orders/housework_type_snowplowing.yml +28 -22
  162. data/spec/vcr_cassettes/orders/housework_type_textileclothing.yml +28 -22
  163. data/spec/vcr_cassettes/orders/housework_type_tutoring.yml +25 -19
  164. data/spec/vcr_cassettes/orders/multi_param_find_by_hash.yml +25 -19
  165. data/spec/vcr_cassettes/orders/save_new.yml +28 -22
  166. data/spec/vcr_cassettes/orders/save_old.yml +29 -23
  167. data/spec/vcr_cassettes/orders/save_with_nested_model.yml +28 -22
  168. data/spec/vcr_cassettes/orders/search_by_name.yml +25 -19
  169. data/spec/vcr_cassettes/orders/search_miss.yml +25 -19
  170. data/spec/vcr_cassettes/orders/search_with_special_char.yml +25 -19
  171. data/spec/vcr_cassettes/orders/single_param_find_by_hash.yml +25 -19
  172. data/spec/vcr_cassettes/projects/all.yml +31 -21
  173. data/spec/vcr_cassettes/projects/find_by_hash_failure.yml +25 -19
  174. data/spec/vcr_cassettes/projects/find_failure.yml +25 -19
  175. data/spec/vcr_cassettes/projects/find_id_1.yml +25 -19
  176. data/spec/vcr_cassettes/projects/find_new.yml +28 -22
  177. data/spec/vcr_cassettes/projects/multi_param_find_by_hash.yml +26 -20
  178. data/spec/vcr_cassettes/projects/save_new.yml +27 -21
  179. data/spec/vcr_cassettes/projects/save_old.yml +28 -22
  180. data/spec/vcr_cassettes/projects/single_param_find_by_hash.yml +26 -20
  181. data/spec/vcr_cassettes/termsofpayments/all.yml +34 -27
  182. data/spec/vcr_cassettes/termsofpayments/find_failure.yml +25 -19
  183. data/spec/vcr_cassettes/termsofpayments/find_id_1.yml +25 -19
  184. data/spec/vcr_cassettes/termsofpayments/find_new.yml +27 -21
  185. data/spec/vcr_cassettes/termsofpayments/save_new.yml +27 -21
  186. data/spec/vcr_cassettes/termsofpayments/save_old.yml +27 -21
  187. data/spec/vcr_cassettes/units/all.yml +36 -28
  188. data/spec/vcr_cassettes/units/find_failure.yml +25 -19
  189. data/spec/vcr_cassettes/units/find_id_1.yml +26 -20
  190. data/spec/vcr_cassettes/units/find_new.yml +27 -21
  191. data/spec/vcr_cassettes/units/save_new.yml +27 -21
  192. data/spec/vcr_cassettes/units/save_old.yml +27 -21
  193. data/spec/vcr_cassettes/units/save_with_specially_named_attribute.yml +27 -21
  194. metadata +107 -47
  195. data/spec/support/helpers/dummy_class_helper.rb +0 -38
  196. data/spec/vcr_cassettes/invoices/save_new_with_country_KR.yml +0 -61
  197. data/spec/vcr_cassettes/orders/housework_without_tax_reduction_type.yml +0 -57
@@ -2,7 +2,7 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: put
5
- uri: https://api.fortnox.se/3/units/blarg5
5
+ uri: https://api.fortnox.se/3/units/blarg7
6
6
  body:
7
7
  encoding: UTF-8
8
8
  string: '{"Unit":{"Description":"Updated description"}}'
@@ -24,36 +24,42 @@ http_interactions:
24
24
  code: 200
25
25
  message: OK
26
26
  headers:
27
- Server:
28
- - nginx
29
- Date:
30
- - Mon, 21 Dec 2020 20:33:32 GMT
27
+ Content-Length:
28
+ - '131'
31
29
  Content-Type:
32
30
  - application/json
33
- Connection:
34
- - close
31
+ Date:
32
+ - Mon, 22 Jan 2024 14:59:54 GMT
35
33
  Vary:
36
34
  - Accept-Encoding
35
+ X-Build:
36
+ - 9dd4e26746
37
+ X-Frame-Options:
38
+ - sameorigin
37
39
  X-Rack-Responsetime:
38
- - '42'
40
+ - '48'
39
41
  X-Uid:
40
- - 0c7d4cc3
41
- X-Build:
42
- - d59e2acefa
43
- Strict-Transport-Security:
44
- - max-age=31536000; includeSubdomains
45
- X-Xss-Protection:
46
- - 1; mode=block
42
+ - a67d4e96
43
+ Server:
44
+ - Fortnox
47
45
  X-Content-Type-Options:
48
46
  - nosniff
49
- X-Frame-Options:
50
- - sameorigin
47
+ X-Xss-Protection:
48
+ - '0'
51
49
  Referrer-Policy:
52
50
  - strict-origin-when-cross-origin
51
+ Content-Security-Policy:
52
+ - 'upgrade-insecure-requests;frame-ancestors https://*.fortnox.se;report-uri
53
+ /api/cspreport;connect-src ''self'' https://a.storyblok.com wss://*.fortnox.se
54
+ *.fortnox.se *.findity.com mybusiness.pwc.se themes.googleusercontent.com
55
+ s3.amazonaws.com/helpjuice-static/ *.helpjuice.com *.vimeo.com fonts.googleapis.com
56
+ fonts.gstatic.com fortnox.piwik.pro api.cling.se wss://api.cling.se ''unsafe-inline''
57
+ ''unsafe-eval'' blob: data:'
58
+ Strict-Transport-Security:
59
+ - max-age=31536000; includeSubdomains
53
60
  body:
54
61
  encoding: ASCII-8BIT
55
- string: '{"Unit":{"@url":"https:\/\/api.fortnox.se\/3\/units\/blarg5","Code":"blarg5","Description":"Updated
62
+ string: '{"Unit":{"@url":"https:\/\/api.fortnox.se\/3\/units\/blarg7","Code":"blarg7","CodeEnglish":"","Description":"Updated
56
63
  description"}}'
57
- http_version:
58
- recorded_at: Mon, 21 Dec 2020 20:33:32 GMT
59
- recorded_with: VCR 4.0.0
64
+ recorded_at: Mon, 22 Jan 2024 14:59:54 GMT
65
+ recorded_with: VCR 6.2.0
@@ -5,7 +5,7 @@ http_interactions:
5
5
  uri: https://api.fortnox.se/3/units/
6
6
  body:
7
7
  encoding: UTF-8
8
- string: '{"Unit":{"Code":"woooh5","Description":"Happy clouds"}}'
8
+ string: '{"Unit":{"Code":"woooh6","Description":"Happy clouds"}}'
9
9
  headers:
10
10
  Content-Type:
11
11
  - application/json
@@ -24,36 +24,42 @@ http_interactions:
24
24
  code: 201
25
25
  message: Created
26
26
  headers:
27
- Server:
28
- - nginx
29
- Date:
30
- - Mon, 21 Dec 2020 20:34:21 GMT
27
+ Content-Length:
28
+ - '124'
31
29
  Content-Type:
32
30
  - application/json
33
- Connection:
34
- - close
31
+ Date:
32
+ - Mon, 22 Jan 2024 15:00:42 GMT
35
33
  Location:
36
34
  - units
35
+ X-Build:
36
+ - 9dd4e26746
37
+ X-Frame-Options:
38
+ - sameorigin
37
39
  X-Rack-Responsetime:
38
- - '19'
40
+ - '110'
39
41
  X-Uid:
40
- - 895e9a00
41
- X-Build:
42
- - d59e2acefa
43
- Strict-Transport-Security:
44
- - max-age=31536000; includeSubdomains
45
- X-Xss-Protection:
46
- - 1; mode=block
42
+ - aeb52aa2
43
+ Server:
44
+ - Fortnox
47
45
  X-Content-Type-Options:
48
46
  - nosniff
49
- X-Frame-Options:
50
- - sameorigin
47
+ X-Xss-Protection:
48
+ - '0'
51
49
  Referrer-Policy:
52
50
  - strict-origin-when-cross-origin
51
+ Content-Security-Policy:
52
+ - 'upgrade-insecure-requests;frame-ancestors https://*.fortnox.se;report-uri
53
+ /api/cspreport;connect-src ''self'' https://a.storyblok.com wss://*.fortnox.se
54
+ *.fortnox.se *.findity.com mybusiness.pwc.se themes.googleusercontent.com
55
+ s3.amazonaws.com/helpjuice-static/ *.helpjuice.com *.vimeo.com fonts.googleapis.com
56
+ fonts.gstatic.com fortnox.piwik.pro api.cling.se wss://api.cling.se ''unsafe-inline''
57
+ ''unsafe-eval'' blob: data:'
58
+ Strict-Transport-Security:
59
+ - max-age=31536000; includeSubdomains
53
60
  body:
54
61
  encoding: UTF-8
55
- string: '{"Unit":{"@url":"https:\/\/api.fortnox.se\/3\/units\/woooh5","Code":"woooh5","Description":"Happy
62
+ string: '{"Unit":{"@url":"https:\/\/api.fortnox.se\/3\/units\/woooh6","Code":"woooh6","CodeEnglish":"","Description":"Happy
56
63
  clouds"}}'
57
- http_version:
58
- recorded_at: Mon, 21 Dec 2020 20:34:21 GMT
59
- recorded_with: VCR 4.0.0
64
+ recorded_at: Mon, 22 Jan 2024 15:00:42 GMT
65
+ recorded_with: VCR 6.2.0
metadata CHANGED
@@ -1,16 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fortnox-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 0.8.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonas Schubert Erlandsson
8
8
  - Hannes Elvemyr
9
9
  - Felix Holmgren
10
- autorequire:
10
+ - Mike Eirih
11
+ autorequire:
11
12
  bindir: bin
12
13
  cert_chain: []
13
- date: 2020-12-22 00:00:00.000000000 Z
14
+ date: 2024-01-23 00:00:00.000000000 Z
14
15
  dependencies:
15
16
  - !ruby/object:Gem::Dependency
16
17
  name: countries
@@ -18,48 +19,70 @@ dependencies:
18
19
  requirements:
19
20
  - - "~>"
20
21
  - !ruby/object:Gem::Version
21
- version: '3.0'
22
+ version: '5.0'
22
23
  type: :runtime
23
24
  prerelease: false
24
25
  version_requirements: !ruby/object:Gem::Requirement
25
26
  requirements:
26
27
  - - "~>"
27
28
  - !ruby/object:Gem::Version
28
- version: '3.0'
29
+ version: '5.0'
29
30
  - !ruby/object:Gem::Dependency
30
- name: dry-struct
31
+ name: dry-configurable
31
32
  requirement: !ruby/object:Gem::Requirement
32
33
  requirements:
33
34
  - - "~>"
34
35
  - !ruby/object:Gem::Version
35
- version: '0.1'
36
+ version: '1.0'
36
37
  type: :runtime
37
38
  prerelease: false
38
39
  version_requirements: !ruby/object:Gem::Requirement
39
40
  requirements:
40
41
  - - "~>"
41
42
  - !ruby/object:Gem::Version
42
- version: '0.1'
43
+ version: '1.0'
43
44
  - !ruby/object:Gem::Dependency
44
- name: dry-types
45
+ name: dry-container
45
46
  requirement: !ruby/object:Gem::Requirement
46
47
  requirements:
47
48
  - - "~>"
48
49
  - !ruby/object:Gem::Version
49
- version: '0.8'
50
- - - "<"
50
+ version: '0.10'
51
+ type: :runtime
52
+ prerelease: false
53
+ version_requirements: !ruby/object:Gem::Requirement
54
+ requirements:
55
+ - - "~>"
51
56
  - !ruby/object:Gem::Version
52
- version: 0.13.0
57
+ version: '0.10'
58
+ - !ruby/object:Gem::Dependency
59
+ name: dry-struct
60
+ requirement: !ruby/object:Gem::Requirement
61
+ requirements:
62
+ - - "~>"
63
+ - !ruby/object:Gem::Version
64
+ version: '1.6'
53
65
  type: :runtime
54
66
  prerelease: false
55
67
  version_requirements: !ruby/object:Gem::Requirement
56
68
  requirements:
57
69
  - - "~>"
58
70
  - !ruby/object:Gem::Version
59
- version: '0.8'
60
- - - "<"
71
+ version: '1.6'
72
+ - !ruby/object:Gem::Dependency
73
+ name: dry-types
74
+ requirement: !ruby/object:Gem::Requirement
75
+ requirements:
76
+ - - "~>"
77
+ - !ruby/object:Gem::Version
78
+ version: '1.7'
79
+ type: :runtime
80
+ prerelease: false
81
+ version_requirements: !ruby/object:Gem::Requirement
82
+ requirements:
83
+ - - "~>"
61
84
  - !ruby/object:Gem::Version
62
- version: 0.13.0
85
+ version: '1.7'
63
86
  - !ruby/object:Gem::Dependency
64
87
  name: httparty
65
88
  requirement: !ruby/object:Gem::Requirement
@@ -74,48 +97,76 @@ dependencies:
74
97
  - - "~>"
75
98
  - !ruby/object:Gem::Version
76
99
  version: '0.17'
100
+ - !ruby/object:Gem::Dependency
101
+ name: jwt
102
+ requirement: !ruby/object:Gem::Requirement
103
+ requirements:
104
+ - - "~>"
105
+ - !ruby/object:Gem::Version
106
+ version: '2.3'
107
+ type: :runtime
108
+ prerelease: false
109
+ version_requirements: !ruby/object:Gem::Requirement
110
+ requirements:
111
+ - - "~>"
112
+ - !ruby/object:Gem::Version
113
+ version: '2.3'
77
114
  - !ruby/object:Gem::Dependency
78
115
  name: bundler
79
116
  requirement: !ruby/object:Gem::Requirement
80
117
  requirements:
81
118
  - - "~>"
82
119
  - !ruby/object:Gem::Version
83
- version: '2.0'
120
+ version: '2.4'
84
121
  type: :development
85
122
  prerelease: false
86
123
  version_requirements: !ruby/object:Gem::Requirement
87
124
  requirements:
88
125
  - - "~>"
89
126
  - !ruby/object:Gem::Version
90
- version: '2.0'
127
+ version: '2.4'
128
+ - !ruby/object:Gem::Dependency
129
+ name: dotenv
130
+ requirement: !ruby/object:Gem::Requirement
131
+ requirements:
132
+ - - "~>"
133
+ - !ruby/object:Gem::Version
134
+ version: '2.8'
135
+ type: :development
136
+ prerelease: false
137
+ version_requirements: !ruby/object:Gem::Requirement
138
+ requirements:
139
+ - - "~>"
140
+ - !ruby/object:Gem::Version
141
+ version: '2.8'
91
142
  - !ruby/object:Gem::Dependency
92
143
  name: guard
93
144
  requirement: !ruby/object:Gem::Requirement
94
145
  requirements:
95
146
  - - "~>"
96
147
  - !ruby/object:Gem::Version
97
- version: '2.12'
148
+ version: '2.18'
98
149
  type: :development
99
150
  prerelease: false
100
151
  version_requirements: !ruby/object:Gem::Requirement
101
152
  requirements:
102
153
  - - "~>"
103
154
  - !ruby/object:Gem::Version
104
- version: '2.12'
155
+ version: '2.18'
105
156
  - !ruby/object:Gem::Dependency
106
157
  name: guard-rspec
107
158
  requirement: !ruby/object:Gem::Requirement
108
159
  requirements:
109
160
  - - "~>"
110
161
  - !ruby/object:Gem::Version
111
- version: '4.5'
162
+ version: '4.7'
112
163
  type: :development
113
164
  prerelease: false
114
165
  version_requirements: !ruby/object:Gem::Requirement
115
166
  requirements:
116
167
  - - "~>"
117
168
  - !ruby/object:Gem::Version
118
- version: '4.5'
169
+ version: '4.7'
119
170
  - !ruby/object:Gem::Dependency
120
171
  name: pry
121
172
  requirement: !ruby/object:Gem::Requirement
@@ -134,30 +185,30 @@ dependencies:
134
185
  name: rake
135
186
  requirement: !ruby/object:Gem::Requirement
136
187
  requirements:
137
- - - ">="
188
+ - - "~>"
138
189
  - !ruby/object:Gem::Version
139
- version: 12.3.3
190
+ version: '13.0'
140
191
  type: :development
141
192
  prerelease: false
142
193
  version_requirements: !ruby/object:Gem::Requirement
143
194
  requirements:
144
- - - ">="
195
+ - - "~>"
145
196
  - !ruby/object:Gem::Version
146
- version: 12.3.3
197
+ version: '13.0'
147
198
  - !ruby/object:Gem::Dependency
148
199
  name: rspec
149
200
  requirement: !ruby/object:Gem::Requirement
150
201
  requirements:
151
202
  - - "~>"
152
203
  - !ruby/object:Gem::Version
153
- version: '3.2'
204
+ version: '3.12'
154
205
  type: :development
155
206
  prerelease: false
156
207
  version_requirements: !ruby/object:Gem::Requirement
157
208
  requirements:
158
209
  - - "~>"
159
210
  - !ruby/object:Gem::Version
160
- version: '3.2'
211
+ version: '3.12'
161
212
  - !ruby/object:Gem::Dependency
162
213
  name: rspec-collection_matchers
163
214
  requirement: !ruby/object:Gem::Requirement
@@ -178,70 +229,84 @@ dependencies:
178
229
  requirements:
179
230
  - - "~>"
180
231
  - !ruby/object:Gem::Version
181
- version: 0.52.0
232
+ version: 1.39.0
182
233
  type: :development
183
234
  prerelease: false
184
235
  version_requirements: !ruby/object:Gem::Requirement
185
236
  requirements:
186
237
  - - "~>"
187
238
  - !ruby/object:Gem::Version
188
- version: 0.52.0
239
+ version: 1.39.0
189
240
  - !ruby/object:Gem::Dependency
190
241
  name: rubocop-rspec
191
242
  requirement: !ruby/object:Gem::Requirement
192
243
  requirements:
193
244
  - - "~>"
194
245
  - !ruby/object:Gem::Version
195
- version: 1.22.2
246
+ version: 2.16.0
196
247
  type: :development
197
248
  prerelease: false
198
249
  version_requirements: !ruby/object:Gem::Requirement
199
250
  requirements:
200
251
  - - "~>"
201
252
  - !ruby/object:Gem::Version
202
- version: 1.22.2
253
+ version: 2.16.0
203
254
  - !ruby/object:Gem::Dependency
204
255
  name: simplecov
205
256
  requirement: !ruby/object:Gem::Requirement
206
257
  requirements:
207
258
  - - "~>"
208
259
  - !ruby/object:Gem::Version
209
- version: '0.15'
260
+ version: '0.22'
261
+ type: :development
262
+ prerelease: false
263
+ version_requirements: !ruby/object:Gem::Requirement
264
+ requirements:
265
+ - - "~>"
266
+ - !ruby/object:Gem::Version
267
+ version: '0.22'
268
+ - !ruby/object:Gem::Dependency
269
+ name: timecop
270
+ requirement: !ruby/object:Gem::Requirement
271
+ requirements:
272
+ - - "~>"
273
+ - !ruby/object:Gem::Version
274
+ version: 0.9.6
210
275
  type: :development
211
276
  prerelease: false
212
277
  version_requirements: !ruby/object:Gem::Requirement
213
278
  requirements:
214
279
  - - "~>"
215
280
  - !ruby/object:Gem::Version
216
- version: '0.15'
281
+ version: 0.9.6
217
282
  - !ruby/object:Gem::Dependency
218
283
  name: vcr
219
284
  requirement: !ruby/object:Gem::Requirement
220
285
  requirements:
221
286
  - - "~>"
222
287
  - !ruby/object:Gem::Version
223
- version: '4.0'
288
+ version: '6.1'
224
289
  type: :development
225
290
  prerelease: false
226
291
  version_requirements: !ruby/object:Gem::Requirement
227
292
  requirements:
228
293
  - - "~>"
229
294
  - !ruby/object:Gem::Version
230
- version: '4.0'
295
+ version: '6.1'
231
296
  - !ruby/object:Gem::Dependency
232
297
  name: webmock
233
298
  requirement: !ruby/object:Gem::Requirement
234
299
  requirements:
235
300
  - - "~>"
236
301
  - !ruby/object:Gem::Version
237
- version: '3.5'
302
+ version: '3.18'
238
303
  type: :development
239
304
  prerelease: false
240
305
  version_requirements: !ruby/object:Gem::Requirement
241
306
  requirements:
242
307
  - - "~>"
243
308
  - !ruby/object:Gem::Version
244
- version: '3.5'
309
+ version: '3.18'
245
310
  description: This gem uses the HTTParty library to abstract away the REST calls. It
246
311
  gives you access to a number of objects that behave a lot like ActiveRecord instances,
247
312
  giving you access to methods like `all`, `find`, `find_by_...` and so on. And each
@@ -258,6 +323,7 @@ files:
258
323
  - ".gitignore"
259
324
  - ".rspec"
260
325
  - ".rubocop.yml"
326
+ - ".tool-versions"
261
327
  - ".travis.yml"
262
328
  - CHANGELOG.md
263
329
  - CONTRIBUTE.md
@@ -398,7 +464,6 @@ files:
398
464
  - spec/spec_helper.rb
399
465
  - spec/support/helpers.rb
400
466
  - spec/support/helpers/configuration_helper.rb
401
- - spec/support/helpers/dummy_class_helper.rb
402
467
  - spec/support/helpers/repository_helper.rb
403
468
  - spec/support/helpers/when_performing_helper.rb
404
469
  - spec/support/matchers.rb
@@ -462,7 +527,6 @@ files:
462
527
  - spec/vcr_cassettes/invoices/save_new_with_comments.yml
463
528
  - spec/vcr_cassettes/invoices/save_new_with_country.yml
464
529
  - spec/vcr_cassettes/invoices/save_new_with_country_GB.yml
465
- - spec/vcr_cassettes/invoices/save_new_with_country_KR.yml
466
530
  - spec/vcr_cassettes/invoices/save_new_with_country_Norge.yml
467
531
  - spec/vcr_cassettes/invoices/save_new_with_country_Norway.yml
468
532
  - spec/vcr_cassettes/invoices/save_new_with_country_Sverige.yml
@@ -509,7 +573,6 @@ files:
509
573
  - spec/vcr_cassettes/orders/housework_type_snowplowing.yml
510
574
  - spec/vcr_cassettes/orders/housework_type_textileclothing.yml
511
575
  - spec/vcr_cassettes/orders/housework_type_tutoring.yml
512
- - spec/vcr_cassettes/orders/housework_without_tax_reduction_type.yml
513
576
  - spec/vcr_cassettes/orders/multi_param_find_by_hash.yml
514
577
  - spec/vcr_cassettes/orders/save_new.yml
515
578
  - spec/vcr_cassettes/orders/save_old.yml
@@ -545,7 +608,7 @@ homepage: http://github.com/accodeing/fortnox-api
545
608
  licenses:
546
609
  - LGPL-3.0
547
610
  metadata: {}
548
- post_install_message:
611
+ post_install_message:
549
612
  rdoc_options: []
550
613
  require_paths:
551
614
  - lib
@@ -553,15 +616,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
553
616
  requirements:
554
617
  - - ">="
555
618
  - !ruby/object:Gem::Version
556
- version: '2.5'
619
+ version: '2.7'
557
620
  required_rubygems_version: !ruby/object:Gem::Requirement
558
621
  requirements:
559
622
  - - ">="
560
623
  - !ruby/object:Gem::Version
561
624
  version: '0'
562
625
  requirements: []
563
- rubygems_version: 3.0.3
564
- signing_key:
626
+ rubygems_version: 3.4.1
627
+ signing_key:
565
628
  specification_version: 4
566
629
  summary: Gem to use Fortnox REST API in Ruby.
567
630
  test_files:
@@ -631,7 +694,6 @@ test_files:
631
694
  - spec/spec_helper.rb
632
695
  - spec/support/helpers.rb
633
696
  - spec/support/helpers/configuration_helper.rb
634
- - spec/support/helpers/dummy_class_helper.rb
635
697
  - spec/support/helpers/repository_helper.rb
636
698
  - spec/support/helpers/when_performing_helper.rb
637
699
  - spec/support/matchers.rb
@@ -695,7 +757,6 @@ test_files:
695
757
  - spec/vcr_cassettes/invoices/save_new_with_comments.yml
696
758
  - spec/vcr_cassettes/invoices/save_new_with_country.yml
697
759
  - spec/vcr_cassettes/invoices/save_new_with_country_GB.yml
698
- - spec/vcr_cassettes/invoices/save_new_with_country_KR.yml
699
760
  - spec/vcr_cassettes/invoices/save_new_with_country_Norge.yml
700
761
  - spec/vcr_cassettes/invoices/save_new_with_country_Norway.yml
701
762
  - spec/vcr_cassettes/invoices/save_new_with_country_Sverige.yml
@@ -742,7 +803,6 @@ test_files:
742
803
  - spec/vcr_cassettes/orders/housework_type_snowplowing.yml
743
804
  - spec/vcr_cassettes/orders/housework_type_textileclothing.yml
744
805
  - spec/vcr_cassettes/orders/housework_type_tutoring.yml
745
- - spec/vcr_cassettes/orders/housework_without_tax_reduction_type.yml
746
806
  - spec/vcr_cassettes/orders/multi_param_find_by_hash.yml
747
807
  - spec/vcr_cassettes/orders/save_new.yml
748
808
  - spec/vcr_cassettes/orders/save_old.yml
@@ -1,38 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'dry-types'
4
-
5
- module Helpers
6
- def using_test_classes
7
- around(:all) do |example|
8
- classes_before_examples = Object.constants
9
-
10
- save_dry_types_state
11
-
12
- yield
13
-
14
- classes_after_examples = Object.constants
15
- classes_created_by_block = classes_after_examples - classes_before_examples
16
-
17
- example.run
18
-
19
- clean_up_dry_types
20
-
21
- classes_created_by_block.each { |klass| Object.send(:remove_const, klass) }
22
- end
23
- end
24
-
25
- alias using_test_class using_test_classes
26
-
27
- private
28
-
29
- def save_dry_types_state
30
- @types = Dry::Types.container._container.keys
31
- end
32
-
33
- def clean_up_dry_types
34
- container = Dry::Types.container._container
35
- (container.keys - @types).each { |key| container.delete(key) }
36
- Dry::Types.instance_variable_set('@type_map', Concurrent::Map.new)
37
- end
38
- end
@@ -1,61 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: post
5
- uri: https://api.fortnox.se/3/invoices/
6
- body:
7
- encoding: UTF-8
8
- string: '{"Invoice":{"Country":"Korea, Republic of","CustomerNumber":"1"}}'
9
- headers:
10
- Content-Type:
11
- - application/json
12
- Accept:
13
- - application/json
14
- Client-Secret:
15
- - 9aBA8ZgsvR
16
- Access-Token:
17
- - ccaef817-d5d8-4b1c-a316-54f3e55c5c54
18
- Accept-Encoding:
19
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
20
- User-Agent:
21
- - Ruby
22
- response:
23
- status:
24
- code: 201
25
- message: Created
26
- headers:
27
- Server:
28
- - nginx
29
- Date:
30
- - Mon, 21 Dec 2020 20:41:49 GMT
31
- Content-Type:
32
- - application/json
33
- Connection:
34
- - close
35
- Location:
36
- - invoices
37
- X-Rack-Responsetime:
38
- - '87'
39
- X-Uid:
40
- - ca718054
41
- X-Build:
42
- - d59e2acefa
43
- Strict-Transport-Security:
44
- - max-age=31536000; includeSubdomains
45
- X-Xss-Protection:
46
- - 1; mode=block
47
- X-Content-Type-Options:
48
- - nosniff
49
- X-Frame-Options:
50
- - sameorigin
51
- Referrer-Policy:
52
- - strict-origin-when-cross-origin
53
- body:
54
- encoding: UTF-8
55
- string: '{"Invoice":{"@url":"https:\/\/api.fortnox.se\/3\/invoices\/166","@urlTaxReductionList":"https:\/\/api.fortnox.se\/3\/taxreductions?filter=invoices&referencenumber=166","AdministrationFee":0,"AdministrationFeeVAT":0,"Address1":"","Address2":"","Balance":0,"BasisTaxReduction":0,"Booked":false,"Cancelled":false,"City":"","Comments":"","ContractReference":0,"ContributionPercent":0,"ContributionValue":0,"Country":"Korea,
56
- Republic of","CostCenter":"","Credit":"false","CreditInvoiceReference":0,"Currency":"SEK","CurrencyRate":1,"CurrencyUnit":1,"CustomerName":"Old
57
- name","CustomerNumber":"1","DeliveryAddress1":"","DeliveryAddress2":"","DeliveryCity":"","DeliveryCountry":"","DeliveryDate":null,"DeliveryName":"","DeliveryZipCode":"","DocumentNumber":"166","DueDate":"2020-12-21","EDIInformation":{"EDIGlobalLocationNumber":null,"EDIGlobalLocationNumberDelivery":null,"EDIInvoiceExtra1":null,"EDIInvoiceExtra2":null,"EDIOurElectronicReference":null,"EDIYourElectronicReference":null,"EDIStatus":""},"EmailInformation":{"EmailAddressFrom":null,"EmailAddressTo":"","EmailAddressCC":null,"EmailAddressBCC":null,"EmailSubject":"Faktura
58
- {no} bifogas","EmailBody":" "},"EUQuarterlyReport":false,"ExternalInvoiceReference1":"","ExternalInvoiceReference2":"","Freight":0,"FreightVAT":0,"Gross":0,"HouseWork":false,"InvoiceDate":"2020-12-21","InvoicePeriodStart":"","InvoicePeriodEnd":"","InvoiceReference":0,"InvoiceRows":[],"InvoiceType":"INVOICE","Labels":[],"Language":"SV","LastRemindDate":null,"Net":0,"NotCompleted":false,"NoxFinans":false,"OCR":"16659","OfferReference":0,"OrderReference":0,"OrganisationNumber":"860101-8735","OurReference":"","PaymentWay":"","Phone1":"","Phone2":"","PriceList":"A","PrintTemplate":"st","Project":"","WarehouseReady":true,"OutboundDate":"2020-12-21","Remarks":"","Reminders":0,"RoundOff":0,"Sent":false,"TaxReduction":null,"TermsOfDelivery":"","TermsOfPayment":0,"TimeBasisReference":null,"Total":0,"TotalToPay":0,"TotalVAT":0,"VATIncluded":false,"VoucherNumber":null,"VoucherSeries":null,"VoucherYear":null,"WayOfDelivery":"","YourOrderNumber":"","YourReference":"","ZipCode":"","AccountingMethod":"ACCRUAL","FinalPayDate":null,"TaxReductionType":"none"}}'
59
- http_version:
60
- recorded_at: Mon, 21 Dec 2020 20:41:49 GMT
61
- recorded_with: VCR 4.0.0