json_schemer 2.2.1 → 2.3.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 730629a0650c643e352cd41f63ce3e41584e2a5f0a1fbf67ba2f2b4ea7f68dc0
4
- data.tar.gz: 5b3718cb5e7a27d4a87592cc5ffc6573f63cef4c6be6efc5f55b2a42706d8aaf
3
+ metadata.gz: e5ec5b8e547dc3a64b134054ec80b0f40cf9453cba4cce430995e6ae165a6e07
4
+ data.tar.gz: 943423f15ba47e7b8ecc5fbf3d1b566679c43e84e3d70bbc4e0f47f126e4275f
5
5
  SHA512:
6
- metadata.gz: 9c8060d71e5c0d222de622780a57582d5a978bbdb84069cea6c62aee0a15713bbd82531f329559fb7613f39abf708a93c74c32404c1837026f2e3a55112d8042
7
- data.tar.gz: 92d813c0738af624b6a226812eeff6aaec0898cb2e5a95d069d67fa7cd061229a960835d9def7e1528124274ff479080ff6925465056acfc6d8481d40cb4336f
6
+ metadata.gz: 43c26354e594ae3219e0edd22e18b6d89a64b6cbad6bc4ac3e85750ccc128c3827d7aa38b1dc0d48a232c733250467939eaa8d6049ab8d34c75f5a0ac6f0e715
7
+ data.tar.gz: eced2c5592c64adfffb89923d28a363494f09bdd87202233706baa24ad4067e8240a85120a29eb2145b70a5f9bbf85e3a7f2f71fbdd1a89a74bc2cc6e3a243ed
@@ -6,7 +6,7 @@ jobs:
6
6
  fail-fast: false
7
7
  matrix:
8
8
  os: [ubuntu-latest, windows-latest, macos-latest]
9
- ruby: [2.5, 2.6, 2.7, 3.0, 3.1, 3.2, 3.3, head, jruby, jruby-head, truffleruby, truffleruby-head]
9
+ ruby: [2.7, 3.0, 3.1, 3.2, 3.3, head, jruby, jruby-head, truffleruby, truffleruby-head]
10
10
  exclude:
11
11
  - os: ubuntu-latest
12
12
  ruby: head
data/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # Changelog
2
2
 
3
+ ## [2.3.0] - 2024-05-30
4
+
5
+ ## Ruby Versions
6
+
7
+ - Ruby 2.5 and 2.6 are no longer supported.
8
+
9
+ ## Bug Fixes
10
+
11
+ - Remove `base64` runtime dependency: https://github.com/davishmcclurg/json_schemer/pull/182
12
+ - Relax `uuid` format validation: https://github.com/davishmcclurg/json_schemer/pull/183
13
+
14
+ [2.3.0]: https://github.com/davishmcclurg/json_schemer/releases/tag/v2.3.0
15
+
3
16
  ## [2.2.0] - 2024-03-02
4
17
 
5
18
  ## Bug Fixes
data/Gemfile.lock CHANGED
@@ -1,8 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- json_schemer (2.2.1)
5
- base64
4
+ json_schemer (2.3.0)
6
5
  bigdecimal
7
6
  hana (~> 1.3)
8
7
  regexp_parser (~> 2.0)
@@ -12,8 +11,8 @@ GEM
12
11
  remote: https://rubygems.org/
13
12
  specs:
14
13
  base64 (0.2.0)
15
- bigdecimal (3.1.7)
16
- bigdecimal (3.1.7-java)
14
+ bigdecimal (3.1.8)
15
+ bigdecimal (3.1.8-java)
17
16
  concurrent-ruby (1.2.2)
18
17
  csv (3.2.8)
19
18
  docile (1.4.0)
@@ -24,25 +23,21 @@ GEM
24
23
  i18n (< 2)
25
24
  minitest (5.15.0)
26
25
  rake (13.1.0)
27
- regexp_parser (2.9.0)
26
+ regexp_parser (2.9.2)
28
27
  simplecov (0.22.0)
29
28
  docile (~> 1.1)
30
29
  simplecov-html (~> 0.11)
31
30
  simplecov_json_formatter (~> 0.1)
32
31
  simplecov-html (0.12.3)
33
32
  simplecov_json_formatter (0.1.4)
34
- simpleidn (0.2.1)
35
- unf (~> 0.1.4)
36
- unf (0.1.4)
37
- unf_ext
38
- unf (0.1.4-java)
39
- unf_ext (0.0.9.1)
33
+ simpleidn (0.2.3)
40
34
 
41
35
  PLATFORMS
42
36
  java
43
37
  ruby
44
38
 
45
39
  DEPENDENCIES
40
+ base64
46
41
  bundler (~> 2.0)
47
42
  csv
48
43
  i18n
data/json_schemer.gemspec CHANGED
@@ -20,8 +20,9 @@ Gem::Specification.new do |spec|
20
20
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
21
21
  spec.require_paths = ["lib"]
22
22
 
23
- spec.required_ruby_version = '>= 2.5'
23
+ spec.required_ruby_version = '>= 2.7'
24
24
 
25
+ spec.add_development_dependency "base64"
25
26
  spec.add_development_dependency "bundler", "~> 2.0"
26
27
  spec.add_development_dependency "rake", "~> 13.0"
27
28
  spec.add_development_dependency "minitest", "~> 5.0"
@@ -30,7 +31,6 @@ Gem::Specification.new do |spec|
30
31
  spec.add_development_dependency "i18n"
31
32
  spec.add_development_dependency "i18n-debug"
32
33
 
33
- spec.add_runtime_dependency "base64"
34
34
  spec.add_runtime_dependency "bigdecimal"
35
35
  spec.add_runtime_dependency "hana", "~> 1.3"
36
36
  spec.add_runtime_dependency "regexp_parser", "~> 2.0"
@@ -2,7 +2,7 @@
2
2
  module JSONSchemer
3
3
  module ContentEncoding
4
4
  BASE64 = proc do |instance|
5
- [true, Base64.strict_decode64(instance)]
5
+ [true, instance.unpack1("m0")]
6
6
  rescue
7
7
  [false, nil]
8
8
  end
@@ -74,7 +74,7 @@ module JSONSchemer
74
74
  IP_REGEX = /\A[\h:.]+\z/.freeze
75
75
  INVALID_QUERY_REGEX = /\s/.freeze
76
76
  IRI_ESCAPE_REGEX = /[^[:ascii:]]/
77
- UUID_REGEX = /\A\h{8}-\h{4}-\h{4}-[89AB]\h{3}-\h{12}\z/i
77
+ UUID_REGEX = /\A\h{8}-\h{4}-\h{4}-\h{4}-\h{12}\z/i
78
78
  NIL_UUID = '00000000-0000-0000-0000-000000000000'
79
79
  BINARY_TO_PERCENT_ENCODED = 256.times.each_with_object({}) do |byte, out|
80
80
  out[-byte.chr(Encoding::BINARY)] = -sprintf('%%%02X', byte)
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module JSONSchemer
3
- VERSION = '2.2.1'
3
+ VERSION = '2.3.0'
4
4
  end
data/lib/json_schemer.rb CHANGED
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
- require 'base64'
3
2
  require 'bigdecimal'
4
3
  require 'ipaddr'
5
4
  require 'json'
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: json_schemer
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.1
4
+ version: 2.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Harsha
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-03-14 00:00:00.000000000 Z
11
+ date: 2024-05-30 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: base64
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :development
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: bundler
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -108,20 +122,6 @@ dependencies:
108
122
  - - ">="
109
123
  - !ruby/object:Gem::Version
110
124
  version: '0'
111
- - !ruby/object:Gem::Dependency
112
- name: base64
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - ">="
116
- - !ruby/object:Gem::Version
117
- version: '0'
118
- type: :runtime
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - ">="
123
- - !ruby/object:Gem::Version
124
- version: '0'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: bigdecimal
127
127
  requirement: !ruby/object:Gem::Requirement
@@ -261,7 +261,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
261
261
  requirements:
262
262
  - - ">="
263
263
  - !ruby/object:Gem::Version
264
- version: '2.5'
264
+ version: '2.7'
265
265
  required_rubygems_version: !ruby/object:Gem::Requirement
266
266
  requirements:
267
267
  - - ">="