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.
- checksums.yaml +5 -5
- data/.rubocop.yml +4 -0
- data/.travis.yml +20 -15
- data/CHANGELOG.md +18 -0
- data/README.md +11 -19
- data/fortnox-api.gemspec +6 -6
- data/lib/fortnox/api/mappers.rb +5 -38
- data/lib/fortnox/api/mappers/base.rb +2 -24
- data/lib/fortnox/api/mappers/base/canonical_name_sym.rb +21 -0
- data/lib/fortnox/api/mappers/value/array.rb +18 -0
- data/lib/fortnox/api/mappers/value/country_code_string.rb +24 -0
- data/lib/fortnox/api/mappers/value/date.rb +11 -0
- data/lib/fortnox/api/mappers/value/hash.rb +16 -0
- data/lib/fortnox/api/mappers/value/identity.rb +18 -0
- data/lib/fortnox/api/models/document.rb +1 -1
- data/lib/fortnox/api/models/invoice.rb +1 -1
- data/lib/fortnox/api/models/order.rb +1 -1
- data/lib/fortnox/api/repositories/base.rb +9 -11
- data/lib/fortnox/api/request_handling.rb +0 -1
- data/lib/fortnox/api/types.rb +19 -3
- data/lib/fortnox/api/types/enums.rb +0 -23
- data/lib/fortnox/api/types/shim/country_code_string.rb +10 -0
- data/lib/fortnox/api/types/sized.rb +3 -16
- data/lib/fortnox/api/version.rb +1 -1
- data/spec/fortnox/api/circular_queue_spec.rb +52 -0
- data/spec/fortnox/api/mappers/base/canonical_name_sym_spec.rb +34 -0
- data/spec/fortnox/api/mappers/base_spec.rb +33 -43
- data/spec/fortnox/api/mappers/contexts/json_conversion.rb +1 -1
- data/spec/fortnox/api/repositories/article_spec.rb +4 -2
- data/spec/fortnox/api/repositories/base_spec.rb +28 -8
- data/spec/fortnox/api/repositories/customer_spec.rb +2 -1
- data/spec/fortnox/api/repositories/invoice_spec.rb +147 -3
- data/spec/fortnox/api/repositories/order_spec.rb +2 -2
- data/spec/fortnox/api/repositories/project_spec.rb +1 -1
- data/spec/fortnox/api/repositories/terms_of_payment_spec.rb +4 -2
- data/spec/fortnox/api/repositories/unit_spec.rb +6 -3
- data/spec/fortnox/api/types/country_code_spec.rb +76 -0
- data/spec/fortnox/api/types/email_spec.rb +8 -7
- data/spec/fortnox/api/types/enums_spec.rb +0 -1
- data/spec/fortnox/api/types/examples/document_row.rb +1 -1
- data/spec/fortnox/api_spec.rb +3 -1
- data/spec/vcr_cassettes/articles/all.yml +22 -8
- data/spec/vcr_cassettes/articles/find_by_hash_failure.yml +6 -6
- data/spec/vcr_cassettes/articles/find_failure.yml +6 -6
- data/spec/vcr_cassettes/articles/find_id_1.yml +7 -7
- data/spec/vcr_cassettes/articles/find_new.yml +9 -9
- data/spec/vcr_cassettes/articles/multi_param_find_by_hash.yml +6 -6
- data/spec/vcr_cassettes/articles/save_new.yml +8 -8
- data/spec/vcr_cassettes/articles/save_old.yml +9 -9
- data/spec/vcr_cassettes/articles/save_with_specially_named_attribute.yml +8 -8
- data/spec/vcr_cassettes/articles/search_by_name.yml +6 -6
- data/spec/vcr_cassettes/articles/search_miss.yml +6 -6
- data/spec/vcr_cassettes/articles/search_with_special_char.yml +6 -6
- data/spec/vcr_cassettes/articles/single_param_find_by_hash.yml +18 -8
- data/spec/vcr_cassettes/customers/all.yml +9 -9
- data/spec/vcr_cassettes/customers/find_by_hash_failure.yml +6 -6
- data/spec/vcr_cassettes/customers/find_failure.yml +6 -6
- data/spec/vcr_cassettes/customers/find_id_1.yml +7 -7
- data/spec/vcr_cassettes/customers/find_new.yml +9 -9
- data/spec/vcr_cassettes/customers/multi_param_find_by_hash.yml +5 -5
- data/spec/vcr_cassettes/customers/save_new.yml +7 -7
- data/spec/vcr_cassettes/customers/save_old.yml +8 -8
- data/spec/vcr_cassettes/customers/save_with_specially_named_attribute.yml +7 -7
- data/spec/vcr_cassettes/customers/search_by_name.yml +16 -8
- data/spec/vcr_cassettes/customers/search_miss.yml +6 -6
- data/spec/vcr_cassettes/customers/search_with_special_char.yml +6 -6
- data/spec/vcr_cassettes/customers/single_param_find_by_hash.yml +7 -7
- data/spec/vcr_cassettes/invoices/all.yml +100 -65
- data/spec/vcr_cassettes/invoices/filter_hit.yml +11 -8
- data/spec/vcr_cassettes/invoices/filter_invalid.yml +6 -6
- data/spec/vcr_cassettes/invoices/find_by_hash_failure.yml +6 -6
- data/spec/vcr_cassettes/invoices/find_failure.yml +6 -6
- data/spec/vcr_cassettes/invoices/find_id_1.yml +7 -7
- data/spec/vcr_cassettes/invoices/find_new.yml +11 -12
- data/spec/vcr_cassettes/invoices/multi_param_find_by_hash.yml +8 -8
- data/spec/vcr_cassettes/invoices/save_new.yml +9 -10
- data/spec/vcr_cassettes/invoices/save_new_with_comments.yml +47 -0
- data/spec/vcr_cassettes/invoices/save_new_with_country.yml +46 -0
- data/spec/vcr_cassettes/invoices/save_new_with_country_GB.yml +47 -0
- data/spec/vcr_cassettes/invoices/save_new_with_country_KR.yml +47 -0
- data/spec/vcr_cassettes/invoices/save_new_with_country_Norge.yml +46 -0
- data/spec/vcr_cassettes/invoices/save_new_with_country_Norway.yml +46 -0
- data/spec/vcr_cassettes/invoices/save_new_with_country_Sverige.yml +46 -0
- data/spec/vcr_cassettes/invoices/save_new_with_country_VA.yml +47 -0
- data/spec/vcr_cassettes/invoices/save_new_with_country_VI.yml +47 -0
- data/spec/vcr_cassettes/invoices/save_new_with_country_empty_string.yml +46 -0
- data/spec/vcr_cassettes/invoices/save_new_with_country_nil.yml +46 -0
- data/spec/vcr_cassettes/invoices/save_old.yml +10 -11
- data/spec/vcr_cassettes/invoices/save_old_with_empty_comments.yml +48 -0
- data/spec/vcr_cassettes/invoices/save_old_with_empty_country.yml +47 -0
- data/spec/vcr_cassettes/invoices/save_old_with_nil_comments.yml +48 -0
- data/spec/vcr_cassettes/invoices/save_old_with_nil_country.yml +47 -0
- data/spec/vcr_cassettes/invoices/save_with_nested_model.yml +9 -10
- data/spec/vcr_cassettes/invoices/save_with_specially_named_attribute.yml +9 -10
- data/spec/vcr_cassettes/invoices/search_by_name.yml +13 -9
- data/spec/vcr_cassettes/invoices/search_miss.yml +6 -6
- data/spec/vcr_cassettes/invoices/search_with_special_char.yml +6 -6
- data/spec/vcr_cassettes/invoices/single_param_find_by_hash.yml +9 -9
- data/spec/vcr_cassettes/orders/all.yml +105 -105
- data/spec/vcr_cassettes/orders/filter_hit.yml +13 -10
- data/spec/vcr_cassettes/orders/filter_invalid.yml +6 -6
- data/spec/vcr_cassettes/orders/find_by_hash_failure.yml +6 -6
- data/spec/vcr_cassettes/orders/find_failure.yml +6 -6
- data/spec/vcr_cassettes/orders/find_id_1.yml +8 -8
- data/spec/vcr_cassettes/orders/find_new.yml +11 -12
- data/spec/vcr_cassettes/orders/housework_type_babysitting.yml +9 -9
- data/spec/vcr_cassettes/orders/housework_type_cleaning.yml +9 -9
- data/spec/vcr_cassettes/orders/housework_type_construction.yml +9 -9
- data/spec/vcr_cassettes/orders/housework_type_cooking.yml +6 -6
- data/spec/vcr_cassettes/orders/housework_type_electricity.yml +9 -9
- data/spec/vcr_cassettes/orders/housework_type_gardening.yml +9 -9
- data/spec/vcr_cassettes/orders/housework_type_glassmetalwork.yml +9 -9
- data/spec/vcr_cassettes/orders/housework_type_grounddrainagework.yml +9 -9
- data/spec/vcr_cassettes/orders/housework_type_hvac.yml +9 -9
- data/spec/vcr_cassettes/orders/housework_type_masonry.yml +9 -9
- data/spec/vcr_cassettes/orders/housework_type_othercare.yml +9 -9
- data/spec/vcr_cassettes/orders/housework_type_othercosts.yml +9 -9
- data/spec/vcr_cassettes/orders/housework_type_paintingwallpapering.yml +9 -9
- data/spec/vcr_cassettes/orders/housework_type_snowplowing.yml +9 -9
- data/spec/vcr_cassettes/orders/housework_type_textileclothing.yml +9 -9
- data/spec/vcr_cassettes/orders/housework_type_tutoring.yml +6 -6
- data/spec/vcr_cassettes/orders/multi_param_find_by_hash.yml +7 -7
- data/spec/vcr_cassettes/orders/save_new.yml +9 -10
- data/spec/vcr_cassettes/orders/save_old.yml +10 -11
- data/spec/vcr_cassettes/orders/save_with_nested_model.yml +9 -10
- data/spec/vcr_cassettes/orders/search_by_name.yml +9 -8
- data/spec/vcr_cassettes/orders/search_miss.yml +6 -6
- data/spec/vcr_cassettes/orders/search_with_special_char.yml +6 -6
- data/spec/vcr_cassettes/orders/single_param_find_by_hash.yml +8 -8
- data/spec/vcr_cassettes/projects/all.yml +18 -8
- data/spec/vcr_cassettes/projects/find_by_hash_failure.yml +6 -6
- data/spec/vcr_cassettes/projects/find_failure.yml +6 -6
- data/spec/vcr_cassettes/projects/find_id_1.yml +6 -6
- data/spec/vcr_cassettes/projects/find_new.yml +9 -9
- data/spec/vcr_cassettes/projects/multi_param_find_by_hash.yml +7 -7
- data/spec/vcr_cassettes/projects/save_new.yml +8 -8
- data/spec/vcr_cassettes/projects/save_old.yml +8 -8
- data/spec/vcr_cassettes/projects/single_param_find_by_hash.yml +7 -7
- data/spec/vcr_cassettes/termsofpayments/all.yml +10 -7
- data/spec/vcr_cassettes/termsofpayments/find_failure.yml +6 -6
- data/spec/vcr_cassettes/termsofpayments/find_id_1.yml +6 -6
- data/spec/vcr_cassettes/termsofpayments/find_new.yml +8 -8
- data/spec/vcr_cassettes/termsofpayments/save_new.yml +8 -8
- data/spec/vcr_cassettes/termsofpayments/save_old.yml +8 -8
- data/spec/vcr_cassettes/units/all.yml +14 -10
- data/spec/vcr_cassettes/units/find_failure.yml +6 -6
- data/spec/vcr_cassettes/units/find_id_1.yml +6 -6
- data/spec/vcr_cassettes/units/find_new.yml +8 -10
- data/spec/vcr_cassettes/units/save_new.yml +8 -10
- data/spec/vcr_cassettes/units/save_old.yml +8 -10
- data/spec/vcr_cassettes/units/save_with_specially_named_attribute.yml +8 -10
- data/temp.txt +1 -0
- 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":"
|
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
|
-
-
|
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
|
-
- '
|
34
|
+
- '39'
|
35
35
|
X-Uid:
|
36
|
-
-
|
36
|
+
- 2e4a9fa1
|
37
37
|
X-Build:
|
38
|
-
-
|
38
|
+
- e930a91c78
|
39
39
|
body:
|
40
40
|
encoding: UTF-8
|
41
|
-
string: '{"TermsOfPayment":{"@url":"https:\/\/api.fortnox.se\/3\/termsofpayment\/
|
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:
|
45
|
-
recorded_with: VCR
|
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/
|
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
|
-
-
|
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
|
-
- '
|
35
|
+
- '38'
|
36
36
|
X-Uid:
|
37
|
-
-
|
37
|
+
- f58a136d
|
38
38
|
X-Build:
|
39
|
-
-
|
39
|
+
- e930a91c78
|
40
40
|
body:
|
41
41
|
encoding: UTF-8
|
42
|
-
string: '{"TermsOfPayment":{"@url":"https:\/\/api.fortnox.se\/3\/termsofpayment\/
|
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:
|
46
|
-
recorded_with: VCR
|
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
|
-
-
|
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
|
-
- '
|
35
|
+
- '21'
|
38
36
|
X-Uid:
|
39
|
-
-
|
37
|
+
- 2bca73e2
|
40
38
|
X-Build:
|
41
|
-
-
|
39
|
+
- e930a91c78
|
42
40
|
body:
|
43
41
|
encoding: UTF-8
|
44
|
-
string: '{"MetaInformation":{"@TotalResources":
|
45
|
-
|
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:
|
48
|
-
recorded_with: VCR
|
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
|
-
-
|
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
|
-
- '
|
35
|
+
- '16'
|
36
36
|
X-Uid:
|
37
|
-
- '
|
37
|
+
- '29709024'
|
38
38
|
X-Build:
|
39
|
-
-
|
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:
|
45
|
-
recorded_with: VCR
|
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
|
-
-
|
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
|
-
- '
|
35
|
+
- '16'
|
36
36
|
X-Uid:
|
37
|
-
-
|
37
|
+
- 69ec7230
|
38
38
|
X-Build:
|
39
|
-
-
|
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:
|
46
|
-
recorded_with: VCR
|
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/
|
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
|
-
-
|
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
|
-
- '
|
35
|
+
- '18'
|
38
36
|
X-Uid:
|
39
|
-
-
|
37
|
+
- abe8e46c
|
40
38
|
X-Build:
|
41
|
-
-
|
39
|
+
- e930a91c78
|
42
40
|
body:
|
43
41
|
encoding: UTF-8
|
44
|
-
string: '{"Unit":{"@url":"https:\/\/api.fortnox.se\/3\/units\/
|
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:
|
48
|
-
recorded_with: VCR
|
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":"
|
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
|
-
-
|
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
|
-
- '
|
34
|
+
- '33'
|
37
35
|
X-Uid:
|
38
|
-
-
|
36
|
+
- 2904070a
|
39
37
|
X-Build:
|
40
|
-
-
|
38
|
+
- e930a91c78
|
41
39
|
body:
|
42
40
|
encoding: UTF-8
|
43
|
-
string: '{"Unit":{"@url":"https:\/\/api.fortnox.se\/3\/units\/
|
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:
|
47
|
-
recorded_with: VCR
|
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/
|
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
|
-
-
|
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
|
-
- '
|
35
|
+
- '17'
|
38
36
|
X-Uid:
|
39
|
-
-
|
37
|
+
- 7882cf2d
|
40
38
|
X-Build:
|
41
|
-
-
|
39
|
+
- e930a91c78
|
42
40
|
body:
|
43
41
|
encoding: UTF-8
|
44
|
-
string: '{"Unit":{"@url":"https:\/\/api.fortnox.se\/3\/units\/
|
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:
|
48
|
-
recorded_with: VCR
|
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":"
|
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
|
-
-
|
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
|
-
- '
|
34
|
+
- '21'
|
37
35
|
X-Uid:
|
38
|
-
-
|
36
|
+
- 1cb3e745
|
39
37
|
X-Build:
|
40
|
-
-
|
38
|
+
- e930a91c78
|
41
39
|
body:
|
42
40
|
encoding: UTF-8
|
43
|
-
string: '{"Unit":{"@url":"https:\/\/api.fortnox.se\/3\/units\/
|
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:
|
47
|
-
recorded_with: VCR
|
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.
|
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:
|
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.
|
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.
|
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: '
|
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: '
|
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: '
|
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: '
|
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: '
|
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: '
|
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.
|
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
|
-
|
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
|