json_skooma 0.2.3 → 0.2.5

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b477f1320adcfae0e544129fd0c7cf7423221582a4914df84e2b685bbc3d3407
4
- data.tar.gz: 33be1f69264fa10de07b4391850945343996832b3f0b534fbc4ea34f125dee28
3
+ metadata.gz: eb2d7d35ec23d77daeda2fbc2e13a04a22265ecb549c2450b7f3e01fc0351a2a
4
+ data.tar.gz: f9c354da7ac5cd8354a968bc728313af943189f9b06279d3812e91dd88086139
5
5
  SHA512:
6
- metadata.gz: 4fd6ad6cf954c7b5cd9886691280e334b49332a51b74beba483a2041e00c36ce0b9662a52cdc1ba8ee310fc979117ee3a08f8df05f1f6291c5e501215149dd2a
7
- data.tar.gz: 5d428bce4e4e1979cf908d4efc9cdf397d60449fde95742df5df7d18084ced68cacc9169d6e4ee1517a152bb990ebce9a38f48221968cfa1633dc14503b3b31a
6
+ metadata.gz: 5352834d1a61ad40c9416bfad5fb8543da5d872151a4e6925194c42b87639dc125fd1268343b6fc6b8b7bb0b047144dd21e95049cddfec065bc5e3990b54768a
7
+ data.tar.gz: 1095a00a437945ab384154da3f0f75a401636c39c21b9a7a2fd2b8de88140c909393c49f900c3295c289d6bb9795e238f3ccc2f7263348367076938ebf88bc8f
data/CHANGELOG.md CHANGED
@@ -7,6 +7,18 @@ and this project adheres to [Semantic Versioning].
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.2.5] - 2024-12-25
11
+
12
+ ### Added
13
+
14
+ - Support Ruby 3.4. ([@skryukov])
15
+
16
+ ## [0.2.4] - 2024-10-31
17
+
18
+ ### Added
19
+
20
+ - Improve error messages for missing required keys ([@alexkalderimis])
21
+
10
22
  ## [0.2.3] - 2024-04-28
11
23
 
12
24
  ### Fixed
@@ -47,10 +59,13 @@ and this project adheres to [Semantic Versioning].
47
59
 
48
60
  - Initial implementation. ([@skryukov])
49
61
 
50
- [@skryukov]: https://github.com/skryukov
62
+ [@alexkalderimis]: https://github.com/alexkalderimis
51
63
  [@killondark]: https://github.com/killondark
64
+ [@skryukov]: https://github.com/skryukov
52
65
 
53
- [Unreleased]: https://github.com/skryukov/json_skooma/compare/v0.2.3...HEAD
66
+ [Unreleased]: https://github.com/skryukov/json_skooma/compare/v0.2.5...HEAD
67
+ [0.2.5]: https://github.com/skryukov/json_skooma/compare/v0.2.4...v0.2.5
68
+ [0.2.4]: https://github.com/skryukov/json_skooma/compare/v0.2.3...v0.2.4
54
69
  [0.2.3]: https://github.com/skryukov/json_skooma/compare/v0.2.2...v0.2.3
55
70
  [0.2.2]: https://github.com/skryukov/json_skooma/compare/v0.2.1...v0.2.2
56
71
  [0.2.1]: https://github.com/skryukov/json_skooma/compare/v0.2.0...v0.2.1
@@ -8,9 +8,20 @@ module JSONSkooma
8
8
  self.instance_types = "object"
9
9
 
10
10
  def evaluate(instance, result)
11
- return if json.value.all? { |val| instance.key?(val) }
11
+ missing = required_keys.reject { |key| instance.key?(key) }
12
+ return if missing.none?
12
13
 
13
- result.failure("The object is missing required properties #{json.value.join(", ")}")
14
+ result.failure(missing_keys_message(missing))
15
+ end
16
+
17
+ private
18
+
19
+ def required_keys
20
+ json.value
21
+ end
22
+
23
+ def missing_keys_message(missing)
24
+ "The object requires the following keys: #{required_keys.join(", ")}. Missing keys: #{missing.join(", ")}"
14
25
  end
15
26
  end
16
27
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module JSONSkooma
4
- VERSION = "0.2.3"
4
+ VERSION = "0.2.5"
5
5
  end
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: json_skooma
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Svyatoslav Kryukov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-04-28 00:00:00.000000000 Z
11
+ date: 2024-12-25 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bigdecimal
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: zeitwerk
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -237,7 +251,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
237
251
  - !ruby/object:Gem::Version
238
252
  version: '0'
239
253
  requirements: []
240
- rubygems_version: 3.5.7
254
+ rubygems_version: 3.5.23
241
255
  signing_key:
242
256
  specification_version: 4
243
257
  summary: I bring some sugar for your JSONs.