fortnox-api 1.0.0.rc9 → 1.0.0.rc11
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +29 -1
- data/README.md +5 -2
- data/fortnox.gemspec +1 -1
- data/lib/fortnox/types.rb +4 -0
- data/lib/fortnox/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 7616a9760dec5aa02b7295ec094013aaffe962f98c402f613636a039f3d1891c
|
|
4
|
+
data.tar.gz: 6d8665d732a8f5125ad02991d2f9daf6277cef5cb9e9ce7123da32680f60a9f3
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 734e2f06e8e55583e789b9830092bcf6d53ee0d3b8511693cac15edab25a3658fd126d91ba18bcc8ebe33b823659a20494b16389c02adff0799b3faf8cf7a9bd
|
|
7
|
+
data.tar.gz: bf07508b1a70cbfabbba0fc9611866f2a87c3cb8fff564acfc9dbae3fca66d70fafbc2a1b8e1f5e594950800bb850fb5f592fdd38e4a61233d2f6568b8276411
|
data/CHANGELOG.md
CHANGED
|
@@ -8,6 +8,32 @@ and this project adheres to
|
|
|
8
8
|
|
|
9
9
|
## [Unreleased]
|
|
10
10
|
|
|
11
|
+
## [1.0.0.rc11] - 2026-06-26
|
|
12
|
+
|
|
13
|
+
### Changed
|
|
14
|
+
|
|
15
|
+
- Upgraded `rest-easy` dependency to `~> 1.4.0`. `Fortnox::MissingAttributeError`
|
|
16
|
+
is now raised at save time when a `:required` attribute is missing on the
|
|
17
|
+
outgoing payload, before any HTTP request reaches Fortnox. `stub` /
|
|
18
|
+
`init_from_model` stay permissive so callers can build an instance and
|
|
19
|
+
fill required attributes incrementally. Restores the 0.x behaviour that
|
|
20
|
+
rc1's rewrite to rest-easy dropped: missing required attributes were
|
|
21
|
+
previously only caught when parsing API responses, letting outbound
|
|
22
|
+
writes reach Fortnox and surface as generic `RequestError`.
|
|
23
|
+
|
|
24
|
+
## [1.0.0.rc10] - 2026-05-27
|
|
25
|
+
|
|
26
|
+
### Changed
|
|
27
|
+
|
|
28
|
+
- Upgraded `rest-easy` dependency to `~> 1.3.1`.
|
|
29
|
+
|
|
30
|
+
### Fixed
|
|
31
|
+
|
|
32
|
+
- `Types::AccountNumber` no longer raises `Fortnox::ConstraintError` when
|
|
33
|
+
Fortnox returns `""` for an unset attribute using that type. Observed in production on
|
|
34
|
+
`Customer#sales_account`. Blank strings now coerce to `nil`.
|
|
35
|
+
This bug was introduced in 1.0.0.rc1 and did not exist in 0.x.
|
|
36
|
+
|
|
11
37
|
## [1.0.0.rc9] - 2026-05-20
|
|
12
38
|
|
|
13
39
|
### Added
|
|
@@ -244,7 +270,9 @@ for the full list of breaking changes.
|
|
|
244
270
|
For changes prior to the 1.0 rewrite, see the
|
|
245
271
|
[0.x changelog](https://github.com/accodeing/fortnox-api/blob/v0.9.2/CHANGELOG.md).
|
|
246
272
|
|
|
247
|
-
[Unreleased]: https://github.com/accodeing/fortnox-api/compare/v1.0.0.
|
|
273
|
+
[Unreleased]: https://github.com/accodeing/fortnox-api/compare/v1.0.0.rc11...HEAD
|
|
274
|
+
[1.0.0.rc11]: https://github.com/accodeing/fortnox-api/compare/v1.0.0.rc10...v1.0.0.rc11
|
|
275
|
+
[1.0.0.rc10]: https://github.com/accodeing/fortnox-api/compare/v1.0.0.rc9...v1.0.0.rc10
|
|
248
276
|
[1.0.0.rc9]: https://github.com/accodeing/fortnox-api/compare/v1.0.0.rc8...v1.0.0.rc9
|
|
249
277
|
[1.0.0.rc8]: https://github.com/accodeing/fortnox-api/compare/v1.0.0.rc7...v1.0.0.rc8
|
|
250
278
|
[1.0.0.rc7]: https://github.com/accodeing/fortnox-api/compare/v1.0.0.rc6...v1.0.0.rc7
|
data/README.md
CHANGED
|
@@ -98,8 +98,11 @@ The gem raises the following exceptions:
|
|
|
98
98
|
- `Fortnox::ConstraintError` — an attribute value violates a type
|
|
99
99
|
constraint (max size, format, etc.). Carries `.attribute_name` and
|
|
100
100
|
`.value`.
|
|
101
|
-
- `Fortnox::MissingAttributeError` — a required attribute is missing
|
|
102
|
-
from an API response
|
|
101
|
+
- `Fortnox::MissingAttributeError` — a required attribute is missing,
|
|
102
|
+
either from an API response or from an instance being saved (the
|
|
103
|
+
error is raised at save time, before any HTTP request — `stub` stays
|
|
104
|
+
permissive so you can build an instance and set attributes
|
|
105
|
+
incrementally). Carries `.attribute_name`.
|
|
103
106
|
- `Fortnox::MissingAccessToken` — `Fortnox.access_token=` was not called
|
|
104
107
|
on the current thread before an API call.
|
|
105
108
|
|
data/fortnox.gemspec
CHANGED
|
@@ -24,7 +24,7 @@ Gem::Specification.new do |spec|
|
|
|
24
24
|
spec.add_dependency 'base64'
|
|
25
25
|
spec.add_dependency 'countries', '~> 7.1'
|
|
26
26
|
spec.add_dependency 'dry-struct', '~> 1.5'
|
|
27
|
-
spec.add_dependency 'rest-easy', '~> 1.
|
|
27
|
+
spec.add_dependency 'rest-easy', '~> 1.4.0'
|
|
28
28
|
|
|
29
29
|
spec.metadata['rubygems_mfa_required'] = 'true'
|
|
30
30
|
end
|
data/lib/fortnox/types.rb
CHANGED
|
@@ -94,9 +94,13 @@ module Fortnox
|
|
|
94
94
|
'', 'none', 'rot', 'rut', 'green'
|
|
95
95
|
)
|
|
96
96
|
|
|
97
|
+
# Fortnox sometimes returns "" for unset attributes using AccountNumber as type.
|
|
98
|
+
# Without this constructor, "" falls through to Coercible::Integer and
|
|
99
|
+
# `Integer("")` raises, surfacing as Fortnox::ConstraintError.
|
|
97
100
|
AccountNumber = Coercible::Integer
|
|
98
101
|
.constrained(gteq: 0, lteq: 9999)
|
|
99
102
|
.optional
|
|
103
|
+
.constructor { |v| v == '' ? nil : v }
|
|
100
104
|
|
|
101
105
|
Email = Strict::String
|
|
102
106
|
.constrained(max_size: 1024, format: /\A\z|\A[[[:alnum:]]+-_.]+@[[[:alnum:]]+-_.]+\.[a-z]+\z/i)
|
data/lib/fortnox/version.rb
CHANGED
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: 1.0.0.
|
|
4
|
+
version: 1.0.0.rc11
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Jonas Schubert Erlandsson
|
|
@@ -11,7 +11,7 @@ authors:
|
|
|
11
11
|
autorequire:
|
|
12
12
|
bindir: bin
|
|
13
13
|
cert_chain: []
|
|
14
|
-
date: 2026-
|
|
14
|
+
date: 2026-06-26 00:00:00.000000000 Z
|
|
15
15
|
dependencies:
|
|
16
16
|
- !ruby/object:Gem::Dependency
|
|
17
17
|
name: base64
|
|
@@ -61,14 +61,14 @@ dependencies:
|
|
|
61
61
|
requirements:
|
|
62
62
|
- - "~>"
|
|
63
63
|
- !ruby/object:Gem::Version
|
|
64
|
-
version: 1.
|
|
64
|
+
version: 1.4.0
|
|
65
65
|
type: :runtime
|
|
66
66
|
prerelease: false
|
|
67
67
|
version_requirements: !ruby/object:Gem::Requirement
|
|
68
68
|
requirements:
|
|
69
69
|
- - "~>"
|
|
70
70
|
- !ruby/object:Gem::Version
|
|
71
|
-
version: 1.
|
|
71
|
+
version: 1.4.0
|
|
72
72
|
description: Fortnox F3 REST API library, based on rest-easy.
|
|
73
73
|
email:
|
|
74
74
|
- info@accodeing.com
|