fortnox-api 0.6.3 → 0.7.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 (153) hide show
  1. checksums.yaml +5 -5
  2. data/.rubocop.yml +4 -0
  3. data/.travis.yml +20 -15
  4. data/CHANGELOG.md +18 -0
  5. data/README.md +11 -19
  6. data/fortnox-api.gemspec +6 -6
  7. data/lib/fortnox/api/mappers.rb +5 -38
  8. data/lib/fortnox/api/mappers/base.rb +2 -24
  9. data/lib/fortnox/api/mappers/base/canonical_name_sym.rb +21 -0
  10. data/lib/fortnox/api/mappers/value/array.rb +18 -0
  11. data/lib/fortnox/api/mappers/value/country_code_string.rb +24 -0
  12. data/lib/fortnox/api/mappers/value/date.rb +11 -0
  13. data/lib/fortnox/api/mappers/value/hash.rb +16 -0
  14. data/lib/fortnox/api/mappers/value/identity.rb +18 -0
  15. data/lib/fortnox/api/models/document.rb +1 -1
  16. data/lib/fortnox/api/models/invoice.rb +1 -1
  17. data/lib/fortnox/api/models/order.rb +1 -1
  18. data/lib/fortnox/api/repositories/base.rb +9 -11
  19. data/lib/fortnox/api/request_handling.rb +0 -1
  20. data/lib/fortnox/api/types.rb +19 -3
  21. data/lib/fortnox/api/types/enums.rb +0 -23
  22. data/lib/fortnox/api/types/shim/country_code_string.rb +10 -0
  23. data/lib/fortnox/api/types/sized.rb +3 -16
  24. data/lib/fortnox/api/version.rb +1 -1
  25. data/spec/fortnox/api/circular_queue_spec.rb +52 -0
  26. data/spec/fortnox/api/mappers/base/canonical_name_sym_spec.rb +34 -0
  27. data/spec/fortnox/api/mappers/base_spec.rb +33 -43
  28. data/spec/fortnox/api/mappers/contexts/json_conversion.rb +1 -1
  29. data/spec/fortnox/api/repositories/article_spec.rb +4 -2
  30. data/spec/fortnox/api/repositories/base_spec.rb +28 -8
  31. data/spec/fortnox/api/repositories/customer_spec.rb +2 -1
  32. data/spec/fortnox/api/repositories/invoice_spec.rb +147 -3
  33. data/spec/fortnox/api/repositories/order_spec.rb +2 -2
  34. data/spec/fortnox/api/repositories/project_spec.rb +1 -1
  35. data/spec/fortnox/api/repositories/terms_of_payment_spec.rb +4 -2
  36. data/spec/fortnox/api/repositories/unit_spec.rb +6 -3
  37. data/spec/fortnox/api/types/country_code_spec.rb +76 -0
  38. data/spec/fortnox/api/types/email_spec.rb +8 -7
  39. data/spec/fortnox/api/types/enums_spec.rb +0 -1
  40. data/spec/fortnox/api/types/examples/document_row.rb +1 -1
  41. data/spec/fortnox/api_spec.rb +3 -1
  42. data/spec/vcr_cassettes/articles/all.yml +22 -8
  43. data/spec/vcr_cassettes/articles/find_by_hash_failure.yml +6 -6
  44. data/spec/vcr_cassettes/articles/find_failure.yml +6 -6
  45. data/spec/vcr_cassettes/articles/find_id_1.yml +7 -7
  46. data/spec/vcr_cassettes/articles/find_new.yml +9 -9
  47. data/spec/vcr_cassettes/articles/multi_param_find_by_hash.yml +6 -6
  48. data/spec/vcr_cassettes/articles/save_new.yml +8 -8
  49. data/spec/vcr_cassettes/articles/save_old.yml +9 -9
  50. data/spec/vcr_cassettes/articles/save_with_specially_named_attribute.yml +8 -8
  51. data/spec/vcr_cassettes/articles/search_by_name.yml +6 -6
  52. data/spec/vcr_cassettes/articles/search_miss.yml +6 -6
  53. data/spec/vcr_cassettes/articles/search_with_special_char.yml +6 -6
  54. data/spec/vcr_cassettes/articles/single_param_find_by_hash.yml +18 -8
  55. data/spec/vcr_cassettes/customers/all.yml +9 -9
  56. data/spec/vcr_cassettes/customers/find_by_hash_failure.yml +6 -6
  57. data/spec/vcr_cassettes/customers/find_failure.yml +6 -6
  58. data/spec/vcr_cassettes/customers/find_id_1.yml +7 -7
  59. data/spec/vcr_cassettes/customers/find_new.yml +9 -9
  60. data/spec/vcr_cassettes/customers/multi_param_find_by_hash.yml +5 -5
  61. data/spec/vcr_cassettes/customers/save_new.yml +7 -7
  62. data/spec/vcr_cassettes/customers/save_old.yml +8 -8
  63. data/spec/vcr_cassettes/customers/save_with_specially_named_attribute.yml +7 -7
  64. data/spec/vcr_cassettes/customers/search_by_name.yml +16 -8
  65. data/spec/vcr_cassettes/customers/search_miss.yml +6 -6
  66. data/spec/vcr_cassettes/customers/search_with_special_char.yml +6 -6
  67. data/spec/vcr_cassettes/customers/single_param_find_by_hash.yml +7 -7
  68. data/spec/vcr_cassettes/invoices/all.yml +100 -65
  69. data/spec/vcr_cassettes/invoices/filter_hit.yml +11 -8
  70. data/spec/vcr_cassettes/invoices/filter_invalid.yml +6 -6
  71. data/spec/vcr_cassettes/invoices/find_by_hash_failure.yml +6 -6
  72. data/spec/vcr_cassettes/invoices/find_failure.yml +6 -6
  73. data/spec/vcr_cassettes/invoices/find_id_1.yml +7 -7
  74. data/spec/vcr_cassettes/invoices/find_new.yml +11 -12
  75. data/spec/vcr_cassettes/invoices/multi_param_find_by_hash.yml +8 -8
  76. data/spec/vcr_cassettes/invoices/save_new.yml +9 -10
  77. data/spec/vcr_cassettes/invoices/save_new_with_comments.yml +47 -0
  78. data/spec/vcr_cassettes/invoices/save_new_with_country.yml +46 -0
  79. data/spec/vcr_cassettes/invoices/save_new_with_country_GB.yml +47 -0
  80. data/spec/vcr_cassettes/invoices/save_new_with_country_KR.yml +47 -0
  81. data/spec/vcr_cassettes/invoices/save_new_with_country_Norge.yml +46 -0
  82. data/spec/vcr_cassettes/invoices/save_new_with_country_Norway.yml +46 -0
  83. data/spec/vcr_cassettes/invoices/save_new_with_country_Sverige.yml +46 -0
  84. data/spec/vcr_cassettes/invoices/save_new_with_country_VA.yml +47 -0
  85. data/spec/vcr_cassettes/invoices/save_new_with_country_VI.yml +47 -0
  86. data/spec/vcr_cassettes/invoices/save_new_with_country_empty_string.yml +46 -0
  87. data/spec/vcr_cassettes/invoices/save_new_with_country_nil.yml +46 -0
  88. data/spec/vcr_cassettes/invoices/save_old.yml +10 -11
  89. data/spec/vcr_cassettes/invoices/save_old_with_empty_comments.yml +48 -0
  90. data/spec/vcr_cassettes/invoices/save_old_with_empty_country.yml +47 -0
  91. data/spec/vcr_cassettes/invoices/save_old_with_nil_comments.yml +48 -0
  92. data/spec/vcr_cassettes/invoices/save_old_with_nil_country.yml +47 -0
  93. data/spec/vcr_cassettes/invoices/save_with_nested_model.yml +9 -10
  94. data/spec/vcr_cassettes/invoices/save_with_specially_named_attribute.yml +9 -10
  95. data/spec/vcr_cassettes/invoices/search_by_name.yml +13 -9
  96. data/spec/vcr_cassettes/invoices/search_miss.yml +6 -6
  97. data/spec/vcr_cassettes/invoices/search_with_special_char.yml +6 -6
  98. data/spec/vcr_cassettes/invoices/single_param_find_by_hash.yml +9 -9
  99. data/spec/vcr_cassettes/orders/all.yml +105 -105
  100. data/spec/vcr_cassettes/orders/filter_hit.yml +13 -10
  101. data/spec/vcr_cassettes/orders/filter_invalid.yml +6 -6
  102. data/spec/vcr_cassettes/orders/find_by_hash_failure.yml +6 -6
  103. data/spec/vcr_cassettes/orders/find_failure.yml +6 -6
  104. data/spec/vcr_cassettes/orders/find_id_1.yml +8 -8
  105. data/spec/vcr_cassettes/orders/find_new.yml +11 -12
  106. data/spec/vcr_cassettes/orders/housework_type_babysitting.yml +9 -9
  107. data/spec/vcr_cassettes/orders/housework_type_cleaning.yml +9 -9
  108. data/spec/vcr_cassettes/orders/housework_type_construction.yml +9 -9
  109. data/spec/vcr_cassettes/orders/housework_type_cooking.yml +6 -6
  110. data/spec/vcr_cassettes/orders/housework_type_electricity.yml +9 -9
  111. data/spec/vcr_cassettes/orders/housework_type_gardening.yml +9 -9
  112. data/spec/vcr_cassettes/orders/housework_type_glassmetalwork.yml +9 -9
  113. data/spec/vcr_cassettes/orders/housework_type_grounddrainagework.yml +9 -9
  114. data/spec/vcr_cassettes/orders/housework_type_hvac.yml +9 -9
  115. data/spec/vcr_cassettes/orders/housework_type_masonry.yml +9 -9
  116. data/spec/vcr_cassettes/orders/housework_type_othercare.yml +9 -9
  117. data/spec/vcr_cassettes/orders/housework_type_othercosts.yml +9 -9
  118. data/spec/vcr_cassettes/orders/housework_type_paintingwallpapering.yml +9 -9
  119. data/spec/vcr_cassettes/orders/housework_type_snowplowing.yml +9 -9
  120. data/spec/vcr_cassettes/orders/housework_type_textileclothing.yml +9 -9
  121. data/spec/vcr_cassettes/orders/housework_type_tutoring.yml +6 -6
  122. data/spec/vcr_cassettes/orders/multi_param_find_by_hash.yml +7 -7
  123. data/spec/vcr_cassettes/orders/save_new.yml +9 -10
  124. data/spec/vcr_cassettes/orders/save_old.yml +10 -11
  125. data/spec/vcr_cassettes/orders/save_with_nested_model.yml +9 -10
  126. data/spec/vcr_cassettes/orders/search_by_name.yml +9 -8
  127. data/spec/vcr_cassettes/orders/search_miss.yml +6 -6
  128. data/spec/vcr_cassettes/orders/search_with_special_char.yml +6 -6
  129. data/spec/vcr_cassettes/orders/single_param_find_by_hash.yml +8 -8
  130. data/spec/vcr_cassettes/projects/all.yml +18 -8
  131. data/spec/vcr_cassettes/projects/find_by_hash_failure.yml +6 -6
  132. data/spec/vcr_cassettes/projects/find_failure.yml +6 -6
  133. data/spec/vcr_cassettes/projects/find_id_1.yml +6 -6
  134. data/spec/vcr_cassettes/projects/find_new.yml +9 -9
  135. data/spec/vcr_cassettes/projects/multi_param_find_by_hash.yml +7 -7
  136. data/spec/vcr_cassettes/projects/save_new.yml +8 -8
  137. data/spec/vcr_cassettes/projects/save_old.yml +8 -8
  138. data/spec/vcr_cassettes/projects/single_param_find_by_hash.yml +7 -7
  139. data/spec/vcr_cassettes/termsofpayments/all.yml +10 -7
  140. data/spec/vcr_cassettes/termsofpayments/find_failure.yml +6 -6
  141. data/spec/vcr_cassettes/termsofpayments/find_id_1.yml +6 -6
  142. data/spec/vcr_cassettes/termsofpayments/find_new.yml +8 -8
  143. data/spec/vcr_cassettes/termsofpayments/save_new.yml +8 -8
  144. data/spec/vcr_cassettes/termsofpayments/save_old.yml +8 -8
  145. data/spec/vcr_cassettes/units/all.yml +14 -10
  146. data/spec/vcr_cassettes/units/find_failure.yml +6 -6
  147. data/spec/vcr_cassettes/units/find_id_1.yml +6 -6
  148. data/spec/vcr_cassettes/units/find_new.yml +8 -10
  149. data/spec/vcr_cassettes/units/save_new.yml +8 -10
  150. data/spec/vcr_cassettes/units/save_old.yml +8 -10
  151. data/spec/vcr_cassettes/units/save_with_specially_named_attribute.yml +8 -10
  152. data/temp.txt +1 -0
  153. metadata +71 -13
@@ -5,7 +5,7 @@ http_interactions:
5
5
  uri: https://api.fortnox.se/3/termsofpayments/
6
6
  body:
7
7
  encoding: UTF-8
8
- string: '{"TermsOfPayment":{"Code":"15DAYS","Description":"A value"}}'
8
+ string: '{"TermsOfPayment":{"Code":"18DAYS","Description":"A value"}}'
9
9
  headers:
10
10
  Content-Type:
11
11
  - application/json
@@ -23,7 +23,7 @@ http_interactions:
23
23
  Server:
24
24
  - nginx
25
25
  Date:
26
- - Sat, 24 Feb 2018 06:45:42 GMT
26
+ - Wed, 29 May 2019 07:54:46 GMT
27
27
  Content-Type:
28
28
  - application/json
29
29
  Connection:
@@ -31,15 +31,15 @@ http_interactions:
31
31
  Location:
32
32
  - paymentterms
33
33
  X-Rack-Responsetime:
34
- - '28'
34
+ - '39'
35
35
  X-Uid:
36
- - c6e19b56
36
+ - 2e4a9fa1
37
37
  X-Build:
38
- - bec4a33b2e
38
+ - e930a91c78
39
39
  body:
40
40
  encoding: UTF-8
41
- string: '{"TermsOfPayment":{"@url":"https:\/\/api.fortnox.se\/3\/termsofpayment\/15DAYS","Code":"15DAYS","Description":"A
41
+ string: '{"TermsOfPayment":{"@url":"https:\/\/api.fortnox.se\/3\/termsofpayment\/18DAYS","Code":"18DAYS","Description":"A
42
42
  value"}}'
43
43
  http_version:
44
- recorded_at: Sat, 24 Feb 2018 06:45:42 GMT
45
- recorded_with: VCR 3.0.3
44
+ recorded_at: Wed, 29 May 2019 07:54:46 GMT
45
+ recorded_with: VCR 4.0.0
@@ -2,7 +2,7 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: put
5
- uri: https://api.fortnox.se/3/termsofpayments/15DAYS
5
+ uri: https://api.fortnox.se/3/termsofpayments/18DAYS
6
6
  body:
7
7
  encoding: UTF-8
8
8
  string: '{"TermsOfPayment":{"Description":"Updated description"}}'
@@ -23,7 +23,7 @@ http_interactions:
23
23
  Server:
24
24
  - nginx
25
25
  Date:
26
- - Sat, 24 Feb 2018 06:45:42 GMT
26
+ - Wed, 29 May 2019 07:54:47 GMT
27
27
  Content-Type:
28
28
  - application/json
29
29
  Connection:
@@ -32,15 +32,15 @@ http_interactions:
32
32
  - Accept-Encoding
33
33
  - Accept-Encoding
34
34
  X-Rack-Responsetime:
35
- - '23'
35
+ - '38'
36
36
  X-Uid:
37
- - 3639a56a
37
+ - f58a136d
38
38
  X-Build:
39
- - bec4a33b2e
39
+ - e930a91c78
40
40
  body:
41
41
  encoding: UTF-8
42
- string: '{"TermsOfPayment":{"@url":"https:\/\/api.fortnox.se\/3\/termsofpayment\/15DAYS","Code":"15DAYS","Description":"Updated
42
+ string: '{"TermsOfPayment":{"@url":"https:\/\/api.fortnox.se\/3\/termsofpayment\/18DAYS","Code":"18DAYS","Description":"Updated
43
43
  description"}}'
44
44
  http_version:
45
- recorded_at: Sat, 24 Feb 2018 06:45:42 GMT
46
- recorded_with: VCR 3.0.3
45
+ recorded_at: Wed, 29 May 2019 07:54:47 GMT
46
+ recorded_with: VCR 4.0.0
@@ -11,8 +11,6 @@ http_interactions:
11
11
  - application/json
12
12
  Accept:
13
13
  - application/json
14
- Authorization-Code:
15
- - ea3862b0-189c-464b-8e23-1b9702365ea1
16
14
  Client-Secret:
17
15
  - 9aBA8ZgsvR
18
16
  Access-Token:
@@ -25,7 +23,7 @@ http_interactions:
25
23
  Server:
26
24
  - nginx
27
25
  Date:
28
- - Thu, 22 Feb 2018 14:59:55 GMT
26
+ - Wed, 29 May 2019 07:52:33 GMT
29
27
  Content-Type:
30
28
  - application/json
31
29
  Connection:
@@ -34,15 +32,21 @@ http_interactions:
34
32
  - Accept-Encoding
35
33
  - Accept-Encoding
36
34
  X-Rack-Responsetime:
37
- - '13'
35
+ - '21'
38
36
  X-Uid:
39
- - 1cc7190f
37
+ - 2bca73e2
40
38
  X-Build:
41
- - bec4a33b2e
39
+ - e930a91c78
42
40
  body:
43
41
  encoding: UTF-8
44
- string: '{"MetaInformation":{"@TotalResources":6,"@TotalPages":1,"@CurrentPage":1},"Units":[{"@url":"https:\/\/api.fortnox.se\/3\/units\/f%C3%B6rp","Code":"f\u00f6rp","Description":"f\u00f6rpackning"},{"@url":"https:\/\/api.fortnox.se\/3\/units\/h","Code":"h","Description":"timmar"},{"@url":"https:\/\/api.fortnox.se\/3\/units\/km","Code":"km","Description":"Kilometer"},{"@url":"https:\/\/api.fortnox.se\/3\/units\/st","Code":"st","Description":"styck"},{"@url":"https:\/\/api.fortnox.se\/3\/units\/test","Code":"test","Description":"A
45
- value"},{"@url":"https:\/\/api.fortnox.se\/3\/units\/utl","Code":"utl","Description":"Utl\u00e4gg"}]}'
42
+ string: '{"MetaInformation":{"@TotalResources":12,"@TotalPages":1,"@CurrentPage":1},"Units":[{"@url":"https:\/\/api.fortnox.se\/3\/units\/blarg","Code":"blarg","Description":"Updated
43
+ description"},{"@url":"https:\/\/api.fortnox.se\/3\/units\/blarg2","Code":"blarg2","Description":"Updated
44
+ description"},{"@url":"https:\/\/api.fortnox.se\/3\/units\/blarg3","Code":"blarg3","Description":"Updated
45
+ description"},{"@url":"https:\/\/api.fortnox.se\/3\/units\/f%C3%B6rp","Code":"f\u00f6rp","Description":"f\u00f6rpackning"},{"@url":"https:\/\/api.fortnox.se\/3\/units\/h","Code":"h","Description":"timmar"},{"@url":"https:\/\/api.fortnox.se\/3\/units\/km","Code":"km","Description":"Kilometer"},{"@url":"https:\/\/api.fortnox.se\/3\/units\/st","Code":"st","Description":"styck"},{"@url":"https:\/\/api.fortnox.se\/3\/units\/test","Code":"test","Description":"A
46
+ value"},{"@url":"https:\/\/api.fortnox.se\/3\/units\/utl","Code":"utl","Description":"Utl\u00e4gg"},{"@url":"https:\/\/api.fortnox.se\/3\/units\/woooh","Code":"woooh","Description":"Happy
47
+ clouds"},{"@url":"https:\/\/api.fortnox.se\/3\/units\/woooh2","Code":"woooh2","Description":"Happy
48
+ clouds"},{"@url":"https:\/\/api.fortnox.se\/3\/units\/woooh3","Code":"woooh3","Description":"Happy
49
+ clouds"}]}'
46
50
  http_version:
47
- recorded_at: Thu, 22 Feb 2018 14:59:56 GMT
48
- recorded_with: VCR 3.0.3
51
+ recorded_at: Wed, 29 May 2019 07:52:33 GMT
52
+ recorded_with: VCR 4.0.0
@@ -23,7 +23,7 @@ http_interactions:
23
23
  Server:
24
24
  - nginx
25
25
  Date:
26
- - Mon, 26 Feb 2018 05:15:26 GMT
26
+ - Wed, 29 May 2019 07:52:33 GMT
27
27
  Content-Type:
28
28
  - application/json
29
29
  Connection:
@@ -32,14 +32,14 @@ http_interactions:
32
32
  - Accept-Encoding
33
33
  - Accept-Encoding
34
34
  X-Rack-Responsetime:
35
- - '14'
35
+ - '16'
36
36
  X-Uid:
37
- - '44868723'
37
+ - '29709024'
38
38
  X-Build:
39
- - bec4a33b2e
39
+ - e930a91c78
40
40
  body:
41
41
  encoding: UTF-8
42
42
  string: '{"ErrorInformation":{"Error":1,"Message":"Kan inte hitta enheten.","Code":2000432}}'
43
43
  http_version:
44
- recorded_at: Mon, 26 Feb 2018 05:15:25 GMT
45
- recorded_with: VCR 3.0.3
44
+ recorded_at: Wed, 29 May 2019 07:52:33 GMT
45
+ recorded_with: VCR 4.0.0
@@ -23,7 +23,7 @@ http_interactions:
23
23
  Server:
24
24
  - nginx
25
25
  Date:
26
- - Mon, 26 Feb 2018 05:13:27 GMT
26
+ - Wed, 29 May 2019 07:52:33 GMT
27
27
  Content-Type:
28
28
  - application/json
29
29
  Connection:
@@ -32,15 +32,15 @@ http_interactions:
32
32
  - Accept-Encoding
33
33
  - Accept-Encoding
34
34
  X-Rack-Responsetime:
35
- - '127'
35
+ - '16'
36
36
  X-Uid:
37
- - 3a806687
37
+ - 69ec7230
38
38
  X-Build:
39
- - bec4a33b2e
39
+ - e930a91c78
40
40
  body:
41
41
  encoding: UTF-8
42
42
  string: '{"Unit":{"@url":"https:\/\/api.fortnox.se\/3\/units\/blarg","Code":"blarg","Description":"Updated
43
43
  description"}}'
44
44
  http_version:
45
- recorded_at: Mon, 26 Feb 2018 05:13:26 GMT
46
- recorded_with: VCR 3.0.3
45
+ recorded_at: Wed, 29 May 2019 07:52:33 GMT
46
+ recorded_with: VCR 4.0.0
@@ -2,7 +2,7 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: get
5
- uri: https://api.fortnox.se/3/units/blarg
5
+ uri: https://api.fortnox.se/3/units/blarg4
6
6
  body:
7
7
  encoding: US-ASCII
8
8
  string: ''
@@ -11,8 +11,6 @@ http_interactions:
11
11
  - application/json
12
12
  Accept:
13
13
  - application/json
14
- Authorization-Code:
15
- - ea3862b0-189c-464b-8e23-1b9702365ea1
16
14
  Client-Secret:
17
15
  - 9aBA8ZgsvR
18
16
  Access-Token:
@@ -25,7 +23,7 @@ http_interactions:
25
23
  Server:
26
24
  - nginx
27
25
  Date:
28
- - Thu, 22 Feb 2018 15:11:16 GMT
26
+ - Wed, 29 May 2019 07:54:10 GMT
29
27
  Content-Type:
30
28
  - application/json
31
29
  Connection:
@@ -34,15 +32,15 @@ http_interactions:
34
32
  - Accept-Encoding
35
33
  - Accept-Encoding
36
34
  X-Rack-Responsetime:
37
- - '15'
35
+ - '18'
38
36
  X-Uid:
39
- - 2954eb0c
37
+ - abe8e46c
40
38
  X-Build:
41
- - bec4a33b2e
39
+ - e930a91c78
42
40
  body:
43
41
  encoding: UTF-8
44
- string: '{"Unit":{"@url":"https:\/\/api.fortnox.se\/3\/units\/blarg","Code":"blarg","Description":"A
42
+ string: '{"Unit":{"@url":"https:\/\/api.fortnox.se\/3\/units\/blarg4","Code":"blarg4","Description":"A
45
43
  value"}}'
46
44
  http_version:
47
- recorded_at: Thu, 22 Feb 2018 15:11:16 GMT
48
- recorded_with: VCR 3.0.3
45
+ recorded_at: Wed, 29 May 2019 07:54:10 GMT
46
+ recorded_with: VCR 4.0.0
@@ -5,14 +5,12 @@ http_interactions:
5
5
  uri: https://api.fortnox.se/3/units/
6
6
  body:
7
7
  encoding: UTF-8
8
- string: '{"Unit":{"Code":"blarg","Description":"A value"}}'
8
+ string: '{"Unit":{"Code":"blarg4","Description":"A value"}}'
9
9
  headers:
10
10
  Content-Type:
11
11
  - application/json
12
12
  Accept:
13
13
  - application/json
14
- Authorization-Code:
15
- - ea3862b0-189c-464b-8e23-1b9702365ea1
16
14
  Client-Secret:
17
15
  - 9aBA8ZgsvR
18
16
  Access-Token:
@@ -25,7 +23,7 @@ http_interactions:
25
23
  Server:
26
24
  - nginx
27
25
  Date:
28
- - Thu, 22 Feb 2018 15:06:37 GMT
26
+ - Wed, 29 May 2019 07:54:10 GMT
29
27
  Content-Type:
30
28
  - application/json
31
29
  Connection:
@@ -33,15 +31,15 @@ http_interactions:
33
31
  Location:
34
32
  - units
35
33
  X-Rack-Responsetime:
36
- - '103'
34
+ - '33'
37
35
  X-Uid:
38
- - e510383d
36
+ - 2904070a
39
37
  X-Build:
40
- - bec4a33b2e
38
+ - e930a91c78
41
39
  body:
42
40
  encoding: UTF-8
43
- string: '{"Unit":{"@url":"https:\/\/api.fortnox.se\/3\/units\/blarg","Code":"blarg","Description":"A
41
+ string: '{"Unit":{"@url":"https:\/\/api.fortnox.se\/3\/units\/blarg4","Code":"blarg4","Description":"A
44
42
  value"}}'
45
43
  http_version:
46
- recorded_at: Thu, 22 Feb 2018 15:06:37 GMT
47
- recorded_with: VCR 3.0.3
44
+ recorded_at: Wed, 29 May 2019 07:54:10 GMT
45
+ recorded_with: VCR 4.0.0
@@ -2,7 +2,7 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: put
5
- uri: https://api.fortnox.se/3/units/blarg
5
+ uri: https://api.fortnox.se/3/units/blarg4
6
6
  body:
7
7
  encoding: UTF-8
8
8
  string: '{"Unit":{"Description":"Updated description"}}'
@@ -11,8 +11,6 @@ http_interactions:
11
11
  - application/json
12
12
  Accept:
13
13
  - application/json
14
- Authorization-Code:
15
- - ea3862b0-189c-464b-8e23-1b9702365ea1
16
14
  Client-Secret:
17
15
  - 9aBA8ZgsvR
18
16
  Access-Token:
@@ -25,7 +23,7 @@ http_interactions:
25
23
  Server:
26
24
  - nginx
27
25
  Date:
28
- - Thu, 22 Feb 2018 15:11:17 GMT
26
+ - Wed, 29 May 2019 07:54:10 GMT
29
27
  Content-Type:
30
28
  - application/json
31
29
  Connection:
@@ -34,15 +32,15 @@ http_interactions:
34
32
  - Accept-Encoding
35
33
  - Accept-Encoding
36
34
  X-Rack-Responsetime:
37
- - '29'
35
+ - '17'
38
36
  X-Uid:
39
- - c812f9f5
37
+ - 7882cf2d
40
38
  X-Build:
41
- - bec4a33b2e
39
+ - e930a91c78
42
40
  body:
43
41
  encoding: UTF-8
44
- string: '{"Unit":{"@url":"https:\/\/api.fortnox.se\/3\/units\/blarg","Code":"blarg","Description":"Updated
42
+ string: '{"Unit":{"@url":"https:\/\/api.fortnox.se\/3\/units\/blarg4","Code":"blarg4","Description":"Updated
45
43
  description"}}'
46
44
  http_version:
47
- recorded_at: Thu, 22 Feb 2018 15:11:17 GMT
48
- recorded_with: VCR 3.0.3
45
+ recorded_at: Wed, 29 May 2019 07:54:10 GMT
46
+ recorded_with: VCR 4.0.0
@@ -5,14 +5,12 @@ http_interactions:
5
5
  uri: https://api.fortnox.se/3/units/
6
6
  body:
7
7
  encoding: UTF-8
8
- string: '{"Unit":{"Code":"woooh","Description":"Happy clouds"}}'
8
+ string: '{"Unit":{"Code":"woooh4","Description":"Happy clouds"}}'
9
9
  headers:
10
10
  Content-Type:
11
11
  - application/json
12
12
  Accept:
13
13
  - application/json
14
- Authorization-Code:
15
- - ea3862b0-189c-464b-8e23-1b9702365ea1
16
14
  Client-Secret:
17
15
  - 9aBA8ZgsvR
18
16
  Access-Token:
@@ -25,7 +23,7 @@ http_interactions:
25
23
  Server:
26
24
  - nginx
27
25
  Date:
28
- - Thu, 22 Feb 2018 15:06:37 GMT
26
+ - Wed, 29 May 2019 07:54:10 GMT
29
27
  Content-Type:
30
28
  - application/json
31
29
  Connection:
@@ -33,15 +31,15 @@ http_interactions:
33
31
  Location:
34
32
  - units
35
33
  X-Rack-Responsetime:
36
- - '18'
34
+ - '21'
37
35
  X-Uid:
38
- - bc192db2
36
+ - 1cb3e745
39
37
  X-Build:
40
- - bec4a33b2e
38
+ - e930a91c78
41
39
  body:
42
40
  encoding: UTF-8
43
- string: '{"Unit":{"@url":"https:\/\/api.fortnox.se\/3\/units\/woooh","Code":"woooh","Description":"Happy
41
+ string: '{"Unit":{"@url":"https:\/\/api.fortnox.se\/3\/units\/woooh4","Code":"woooh4","Description":"Happy
44
42
  clouds"}}'
45
43
  http_version:
46
- recorded_at: Thu, 22 Feb 2018 15:06:37 GMT
47
- recorded_with: VCR 3.0.3
44
+ recorded_at: Wed, 29 May 2019 07:54:10 GMT
45
+ recorded_with: VCR 4.0.0
data/temp.txt ADDED
@@ -0,0 +1 @@
1
+ temp2
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fortnox-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.3
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonas Schubert Erlandsson
@@ -10,8 +10,22 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2018-06-11 00:00:00.000000000 Z
13
+ date: 2019-07-31 00:00:00.000000000 Z
14
14
  dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: countries
17
+ requirement: !ruby/object:Gem::Requirement
18
+ requirements:
19
+ - - "~>"
20
+ - !ruby/object:Gem::Version
21
+ version: '3.0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - "~>"
27
+ - !ruby/object:Gem::Version
28
+ version: '3.0'
15
29
  - !ruby/object:Gem::Dependency
16
30
  name: dry-struct
17
31
  requirement: !ruby/object:Gem::Requirement
@@ -52,28 +66,28 @@ dependencies:
52
66
  requirements:
53
67
  - - "~>"
54
68
  - !ruby/object:Gem::Version
55
- version: 0.14.0
69
+ version: '0.17'
56
70
  type: :runtime
57
71
  prerelease: false
58
72
  version_requirements: !ruby/object:Gem::Requirement
59
73
  requirements:
60
74
  - - "~>"
61
75
  - !ruby/object:Gem::Version
62
- version: 0.14.0
76
+ version: '0.17'
63
77
  - !ruby/object:Gem::Dependency
64
78
  name: bundler
65
79
  requirement: !ruby/object:Gem::Requirement
66
80
  requirements:
67
81
  - - "~>"
68
82
  - !ruby/object:Gem::Version
69
- version: '1.9'
83
+ version: '2.0'
70
84
  type: :development
71
85
  prerelease: false
72
86
  version_requirements: !ruby/object:Gem::Requirement
73
87
  requirements:
74
88
  - - "~>"
75
89
  - !ruby/object:Gem::Version
76
- version: '1.9'
90
+ version: '2.0'
77
91
  - !ruby/object:Gem::Dependency
78
92
  name: guard
79
93
  requirement: !ruby/object:Gem::Requirement
@@ -206,28 +220,28 @@ dependencies:
206
220
  requirements:
207
221
  - - "~>"
208
222
  - !ruby/object:Gem::Version
209
- version: '3.0'
223
+ version: '4.0'
210
224
  type: :development
211
225
  prerelease: false
212
226
  version_requirements: !ruby/object:Gem::Requirement
213
227
  requirements:
214
228
  - - "~>"
215
229
  - !ruby/object:Gem::Version
216
- version: '3.0'
230
+ version: '4.0'
217
231
  - !ruby/object:Gem::Dependency
218
232
  name: webmock
219
233
  requirement: !ruby/object:Gem::Requirement
220
234
  requirements:
221
235
  - - "~>"
222
236
  - !ruby/object:Gem::Version
223
- version: '1.21'
237
+ version: '3.5'
224
238
  type: :development
225
239
  prerelease: false
226
240
  version_requirements: !ruby/object:Gem::Requirement
227
241
  requirements:
228
242
  - - "~>"
229
243
  - !ruby/object:Gem::Version
230
- version: '1.21'
244
+ version: '3.5'
231
245
  description: This gem uses the HTTParty library to abstract away the REST calls. It
232
246
  gives you access to a number of objects that behave a lot like ActiveRecord instances,
233
247
  giving you access to methods like `all`, `find`, `find_by_...` and so on. And each
@@ -245,6 +259,7 @@ files:
245
259
  - ".rspec"
246
260
  - ".rubocop.yml"
247
261
  - ".travis.yml"
262
+ - CHANGELOG.md
248
263
  - CONTRIBUTE.md
249
264
  - Gemfile
250
265
  - Guardfile
@@ -258,6 +273,7 @@ files:
258
273
  - lib/fortnox/api/mappers.rb
259
274
  - lib/fortnox/api/mappers/article.rb
260
275
  - lib/fortnox/api/mappers/base.rb
276
+ - lib/fortnox/api/mappers/base/canonical_name_sym.rb
261
277
  - lib/fortnox/api/mappers/base/from_json.rb
262
278
  - lib/fortnox/api/mappers/base/to_json.rb
263
279
  - lib/fortnox/api/mappers/customer.rb
@@ -272,6 +288,11 @@ files:
272
288
  - lib/fortnox/api/mappers/project.rb
273
289
  - lib/fortnox/api/mappers/terms_of_payment.rb
274
290
  - lib/fortnox/api/mappers/unit.rb
291
+ - lib/fortnox/api/mappers/value/array.rb
292
+ - lib/fortnox/api/mappers/value/country_code_string.rb
293
+ - lib/fortnox/api/mappers/value/date.rb
294
+ - lib/fortnox/api/mappers/value/hash.rb
295
+ - lib/fortnox/api/mappers/value/identity.rb
275
296
  - lib/fortnox/api/models.rb
276
297
  - lib/fortnox/api/models/article.rb
277
298
  - lib/fortnox/api/models/base.rb
@@ -308,9 +329,12 @@ files:
308
329
  - lib/fortnox/api/types/nullable.rb
309
330
  - lib/fortnox/api/types/order_row.rb
310
331
  - lib/fortnox/api/types/required.rb
332
+ - lib/fortnox/api/types/shim/country_code_string.rb
311
333
  - lib/fortnox/api/types/sized.rb
312
334
  - lib/fortnox/api/version.rb
335
+ - spec/fortnox/api/circular_queue_spec.rb
313
336
  - spec/fortnox/api/mappers/article_spec.rb
337
+ - spec/fortnox/api/mappers/base/canonical_name_sym_spec.rb
314
338
  - spec/fortnox/api/mappers/base/from_json_spec.rb
315
339
  - spec/fortnox/api/mappers/base/to_json_spec.rb
316
340
  - spec/fortnox/api/mappers/base_spec.rb
@@ -353,6 +377,7 @@ files:
353
377
  - spec/fortnox/api/repositories/terms_of_payment_spec.rb
354
378
  - spec/fortnox/api/repositories/unit_spec.rb
355
379
  - spec/fortnox/api/types/account_number_spec.rb
380
+ - spec/fortnox/api/types/country_code_spec.rb
356
381
  - spec/fortnox/api/types/default_delivery_types_spec.rb
357
382
  - spec/fortnox/api/types/edi_information_spec.rb
358
383
  - spec/fortnox/api/types/email_information_spec.rb
@@ -433,7 +458,22 @@ files:
433
458
  - spec/vcr_cassettes/invoices/find_new.yml
434
459
  - spec/vcr_cassettes/invoices/multi_param_find_by_hash.yml
435
460
  - spec/vcr_cassettes/invoices/save_new.yml
461
+ - spec/vcr_cassettes/invoices/save_new_with_comments.yml
462
+ - spec/vcr_cassettes/invoices/save_new_with_country.yml
463
+ - spec/vcr_cassettes/invoices/save_new_with_country_GB.yml
464
+ - spec/vcr_cassettes/invoices/save_new_with_country_KR.yml
465
+ - spec/vcr_cassettes/invoices/save_new_with_country_Norge.yml
466
+ - spec/vcr_cassettes/invoices/save_new_with_country_Norway.yml
467
+ - spec/vcr_cassettes/invoices/save_new_with_country_Sverige.yml
468
+ - spec/vcr_cassettes/invoices/save_new_with_country_VA.yml
469
+ - spec/vcr_cassettes/invoices/save_new_with_country_VI.yml
470
+ - spec/vcr_cassettes/invoices/save_new_with_country_empty_string.yml
471
+ - spec/vcr_cassettes/invoices/save_new_with_country_nil.yml
436
472
  - spec/vcr_cassettes/invoices/save_old.yml
473
+ - spec/vcr_cassettes/invoices/save_old_with_empty_comments.yml
474
+ - spec/vcr_cassettes/invoices/save_old_with_empty_country.yml
475
+ - spec/vcr_cassettes/invoices/save_old_with_nil_comments.yml
476
+ - spec/vcr_cassettes/invoices/save_old_with_nil_country.yml
437
477
  - spec/vcr_cassettes/invoices/save_with_nested_model.yml
438
478
  - spec/vcr_cassettes/invoices/save_with_specially_named_attribute.yml
439
479
  - spec/vcr_cassettes/invoices/search_by_name.yml
@@ -493,6 +533,7 @@ files:
493
533
  - spec/vcr_cassettes/units/save_new.yml
494
534
  - spec/vcr_cassettes/units/save_old.yml
495
535
  - spec/vcr_cassettes/units/save_with_specially_named_attribute.yml
536
+ - temp.txt
496
537
  homepage: http://github.com/my-codeworks/fortnox-api
497
538
  licenses:
498
539
  - LGPL-3.0
@@ -505,20 +546,21 @@ required_ruby_version: !ruby/object:Gem::Requirement
505
546
  requirements:
506
547
  - - ">="
507
548
  - !ruby/object:Gem::Version
508
- version: '2.3'
549
+ version: '2.4'
509
550
  required_rubygems_version: !ruby/object:Gem::Requirement
510
551
  requirements:
511
552
  - - ">="
512
553
  - !ruby/object:Gem::Version
513
554
  version: '0'
514
555
  requirements: []
515
- rubyforge_project:
516
- rubygems_version: 2.5.2
556
+ rubygems_version: 3.0.4
517
557
  signing_key:
518
558
  specification_version: 4
519
559
  summary: Gem to use Fortnox REST API in Ruby.
520
560
  test_files:
561
+ - spec/fortnox/api/circular_queue_spec.rb
521
562
  - spec/fortnox/api/mappers/article_spec.rb
563
+ - spec/fortnox/api/mappers/base/canonical_name_sym_spec.rb
522
564
  - spec/fortnox/api/mappers/base/from_json_spec.rb
523
565
  - spec/fortnox/api/mappers/base/to_json_spec.rb
524
566
  - spec/fortnox/api/mappers/base_spec.rb
@@ -561,6 +603,7 @@ test_files:
561
603
  - spec/fortnox/api/repositories/terms_of_payment_spec.rb
562
604
  - spec/fortnox/api/repositories/unit_spec.rb
563
605
  - spec/fortnox/api/types/account_number_spec.rb
606
+ - spec/fortnox/api/types/country_code_spec.rb
564
607
  - spec/fortnox/api/types/default_delivery_types_spec.rb
565
608
  - spec/fortnox/api/types/edi_information_spec.rb
566
609
  - spec/fortnox/api/types/email_information_spec.rb
@@ -641,7 +684,22 @@ test_files:
641
684
  - spec/vcr_cassettes/invoices/find_new.yml
642
685
  - spec/vcr_cassettes/invoices/multi_param_find_by_hash.yml
643
686
  - spec/vcr_cassettes/invoices/save_new.yml
687
+ - spec/vcr_cassettes/invoices/save_new_with_comments.yml
688
+ - spec/vcr_cassettes/invoices/save_new_with_country.yml
689
+ - spec/vcr_cassettes/invoices/save_new_with_country_GB.yml
690
+ - spec/vcr_cassettes/invoices/save_new_with_country_KR.yml
691
+ - spec/vcr_cassettes/invoices/save_new_with_country_Norge.yml
692
+ - spec/vcr_cassettes/invoices/save_new_with_country_Norway.yml
693
+ - spec/vcr_cassettes/invoices/save_new_with_country_Sverige.yml
694
+ - spec/vcr_cassettes/invoices/save_new_with_country_VA.yml
695
+ - spec/vcr_cassettes/invoices/save_new_with_country_VI.yml
696
+ - spec/vcr_cassettes/invoices/save_new_with_country_empty_string.yml
697
+ - spec/vcr_cassettes/invoices/save_new_with_country_nil.yml
644
698
  - spec/vcr_cassettes/invoices/save_old.yml
699
+ - spec/vcr_cassettes/invoices/save_old_with_empty_comments.yml
700
+ - spec/vcr_cassettes/invoices/save_old_with_empty_country.yml
701
+ - spec/vcr_cassettes/invoices/save_old_with_nil_comments.yml
702
+ - spec/vcr_cassettes/invoices/save_old_with_nil_country.yml
645
703
  - spec/vcr_cassettes/invoices/save_with_nested_model.yml
646
704
  - spec/vcr_cassettes/invoices/save_with_specially_named_attribute.yml
647
705
  - spec/vcr_cassettes/invoices/search_by_name.yml