json_schemer 2.2.1 → 2.3.0

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