rsmp_schemer 0.2.1 → 0.3

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: 1f413dd61c3d8c86ab1455ac02b175b9791bb958dba827301e80b9070da4d334
4
- data.tar.gz: 99af9cbaac9dc80b989a776b6fbbce5cfbbbc355e08399a3b9eff2d401cfc3ab
3
+ metadata.gz: e78a2bb9b9f856cf1d54f5fbe2671fcbb057f16535891e7b82eb03e8a64ceba6
4
+ data.tar.gz: afdf626b6a073ade8286d7b9bd48412f3c97ab6058b9c08feb9c29364e69daec
5
5
  SHA512:
6
- metadata.gz: a0656a181b391a8b4e0d56ef2d4563fdbe5fbf0331bc413436649ec76bafae2eb10cd2b04023f8013d92791e5bd251178f8878ee795fe263c1a98d50e9d8e3e8
7
- data.tar.gz: 6a5ce0d1a4ba770ae6e282b5bf2e3189cfd0fec08e81357c0436ed89d47622ec0bf44ce378c50dc1876f1bea0df08b73b3ed61594468a02484fca8b06431ed3b
6
+ metadata.gz: ca7fdfd973726b4146abed20e83bbdd97b7b7f8eed7b745c49f34d376d8b610575c402fedf0584c80fadfeebf22a63e11981333f7df5ba07dd1abed96085797c
7
+ data.tar.gz: f76cd381919d93cfda44aa6b44ba5db71bb2f04f84ab4b78538000d90844573e4a58d81efa2d9b7c11a74c945328624fec576e76a323b3d3e489bb451e8ea189
data/CHANGELOG.md CHANGED
@@ -8,3 +8,7 @@
8
8
 
9
9
  ## [0.2.1] - 2021-06-17
10
10
  - Updated schemas
11
+
12
+ ## [0.2.2] - 2021-06-18
13
+ - Option for lenient version string parsing
14
+
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rsmp_schemer (0.2.1)
4
+ rsmp_schemer (0.3)
5
5
  json_schemer (~> 0.2.18)
6
6
 
7
7
  GEM
@@ -52,26 +52,35 @@ module RSMP::Schemer
52
52
  schemas
53
53
  end
54
54
 
55
- def self.find_schema type, version
55
+ def self.find_schema type, version, options={}
56
56
  raise ArgumentError.new("version missing") unless version
57
- schemas = find_schemas type
58
- if schemas
59
- schemas[version]
60
- else
61
- nil
57
+ version = sanitize_version version if options[:lenient]
58
+ if version
59
+ schemas = find_schemas type
60
+ return schemas[version] if schemas
62
61
  end
62
+ nil
63
63
  end
64
64
 
65
- def self.find_schema! type, version
65
+ def self.sanitize_version version
66
+ matched = /^\d+\.\d+\.\d+/.match version
67
+ matched.to_s if matched
68
+ end
69
+
70
+ def self.find_schema! type, version, options={}
71
+ schema = find_schema type, version, options
66
72
  raise ArgumentError.new("version missing") unless version
67
- schemas = find_schemas! type
68
- schema = schemas[version]
69
- raise UnknownSchemaVersionError.new("Unknown schema version #{type} #{version}") unless schema
70
- schema
73
+ version = sanitize_version version if options[:lenient]
74
+ if version
75
+ schemas = find_schemas! type
76
+ schema = schemas[version]
77
+ return schema if schema
78
+ end
79
+ raise UnknownSchemaVersionError.new("Unknown schema version #{type} #{version}")
71
80
  end
72
81
 
73
- def self.has_schema? type, version
74
- find_schema(type,version) != nil
82
+ def self.has_schema? type, version, options={}
83
+ find_schema(type,version, options) != nil
75
84
  end
76
85
 
77
86
  def self.validate message, schemas
@@ -2,6 +2,6 @@
2
2
 
3
3
  module RSMP
4
4
  module Schemer
5
- VERSION = "0.2.1"
5
+ VERSION = "0.3"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rsmp_schemer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: '0.3'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Emil Tin
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-06-17 00:00:00.000000000 Z
11
+ date: 2021-06-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json_schemer