semver_check 0.1.1 → 0.1.2
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/lib/semver_check/version.rb +1 -1
- data/lib/semver_check.rb +30 -24
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a788698d2408013afa250c7bb1b15d6db802abecb51d4809c4a71952c90da500
|
4
|
+
data.tar.gz: a46a370c61e3470815ceeb7ddefc1f8049c17b83feaec5829fdd4aa6fb3e2cd8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4cfb9ba6a08f638cf26338ed6e1e499d655d155d278c51b13edba1a6eb4c2520cf2aff422e67f5220676dd650c5da4a6de71320cbb39b38ffc4a845c6d5fe561
|
7
|
+
data.tar.gz: c48338806955d42f6ed67d32bebb5a924aa567d9fbb82682a176e66350341e6982c9c12f844f1aaa327836e35ecc6021c43b65062ad2ff664af5fc2740e0db4c
|
data/lib/semver_check/version.rb
CHANGED
data/lib/semver_check.rb
CHANGED
@@ -22,21 +22,15 @@ module SemverCheck
|
|
22
22
|
)
|
23
23
|
\Z/x
|
24
24
|
|
25
|
-
|
26
|
-
n
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
%w[
|
33
|
-
|
34
|
-
%w[ssn n],
|
35
|
-
%w[o o],
|
36
|
-
%w[so o],
|
37
|
-
%w[sso o],
|
38
|
-
%w[sss s]
|
39
|
-
]
|
25
|
+
MAPPING_TABLE = [
|
26
|
+
%w[n 1],
|
27
|
+
%w[sn 1],
|
28
|
+
%w[ssn 1],
|
29
|
+
%w[o -1],
|
30
|
+
%w[so -1],
|
31
|
+
%w[sso -1],
|
32
|
+
%w[sss 0]
|
33
|
+
].freeze
|
40
34
|
|
41
35
|
ORDER = %i[major minor patch prerelease].freeze
|
42
36
|
|
@@ -72,7 +66,7 @@ module SemverCheck
|
|
72
66
|
"o"
|
73
67
|
end
|
74
68
|
end.join
|
75
|
-
prerelease_sort(other, comparison)
|
69
|
+
buildmetadata_sort(other, prerelease_sort(other, comparison))
|
76
70
|
end
|
77
71
|
|
78
72
|
def prerelease_sort(other, comparison)
|
@@ -93,14 +87,26 @@ module SemverCheck
|
|
93
87
|
end
|
94
88
|
end
|
95
89
|
|
96
|
-
def
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
90
|
+
def buildmetadata_sort(other, comparison)
|
91
|
+
v_build = @version[:buildmetadata]
|
92
|
+
o_build = other.version[:buildmetadata]
|
93
|
+
if comparison.zero?
|
94
|
+
if v_build.nil? && !o_build.nil?
|
95
|
+
1
|
96
|
+
elsif !v_build.nil? && o_build.nil?
|
97
|
+
-1
|
98
|
+
else
|
99
|
+
0
|
100
|
+
end
|
101
|
+
else
|
102
|
+
comparison
|
103
|
+
end
|
104
|
+
end
|
102
105
|
|
103
|
-
|
106
|
+
def match(comparison)
|
107
|
+
MAPPING_TABLE.find do |m|
|
108
|
+
comparison.start_with?(m.first)
|
109
|
+
end.last.to_i
|
104
110
|
end
|
105
111
|
|
106
112
|
def prepare_version(version)
|
@@ -109,7 +115,7 @@ module SemverCheck
|
|
109
115
|
|
110
116
|
version = version.named_captures.transform_keys(&:to_sym)
|
111
117
|
# convert major, minor and patch to int
|
112
|
-
ORDER.
|
118
|
+
ORDER.first(3).each { |part| version[part] = version[part].to_i }
|
113
119
|
version
|
114
120
|
end
|
115
121
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: semver_check
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- PuLLi
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-12-
|
11
|
+
date: 2022-12-26 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Fun project to compare two SemVer strings with a bit of regex magic.
|
14
14
|
email:
|