fortnox-api 0.6.3 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
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