dependabot-elm 0.107.27 → 0.107.28
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/dependabot/elm/requirement.rb +30 -60
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 248099b0721516f90b3bd52044a8264229222b41e462fda36e68ee386024d466
|
4
|
+
data.tar.gz: b7bda0674a14e01229535ae55478c179f3a7cb49152f954d1c67c2281aad9e5d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: caa2bd41d75f570101e97f44effc6441eec7fdc4d4288aa910e254c9d45ff801c1a7883c0f6d7b44c9fabbdd10d6ff346aa35e8ea32668c09f72a248ae84f9ce
|
7
|
+
data.tar.gz: c565fe200dc358952d1756d2a6db1652175c2d3358aa27cbfc514eeedb098eec35564410fbb7a2cf4d54d9727139ea42cfce35a0063ac56f84b51a5235b9291b
|
@@ -6,12 +6,11 @@ require "dependabot/elm/version"
|
|
6
6
|
module Dependabot
|
7
7
|
module Elm
|
8
8
|
class Requirement < Gem::Requirement
|
9
|
-
|
10
|
-
PATTERN_RAW =
|
9
|
+
ELM_PATTERN_RAW =
|
11
10
|
"(#{Elm::Version::VERSION_PATTERN}) (<=?) v (<=?) " \
|
12
11
|
"(#{Elm::Version::VERSION_PATTERN})"
|
13
|
-
|
14
|
-
|
12
|
+
ELM_PATTERN = /\A#{ELM_PATTERN_RAW}\z/.freeze
|
13
|
+
ELM_EXACT_PATTERN = /\A#{Elm::Version::VERSION_PATTERN}\z/.freeze
|
15
14
|
|
16
15
|
# Returns an array of requirements. At least one requirement from the
|
17
16
|
# returned array must be satisfied for a version to be valid.
|
@@ -19,72 +18,43 @@ module Dependabot
|
|
19
18
|
[new(requirement_string)]
|
20
19
|
end
|
21
20
|
|
22
|
-
# Override the parser to create Elm::Versions and return an
|
23
|
-
# array of parsed requirements
|
24
|
-
def self.parse(obj)
|
25
|
-
# If a version is given this is an equals requirement
|
26
|
-
if EXACT_PATTERN.match?(obj.to_s)
|
27
|
-
return [["=", Elm::Version.new(obj.to_s)]]
|
28
|
-
end
|
29
|
-
|
30
|
-
unless (matches = PATTERN.match(obj.to_s))
|
31
|
-
msg = "Illformed requirement #{obj.inspect}"
|
32
|
-
raise BadRequirementError, msg
|
33
|
-
end
|
34
|
-
|
35
|
-
# If the two versions specified are identical this is an equals
|
36
|
-
# requirement
|
37
|
-
if matches[1] == matches[4] && matches[3] == "<="
|
38
|
-
return [["=", Elm::Version.new(matches[4])]]
|
39
|
-
end
|
40
|
-
|
41
|
-
[
|
42
|
-
[matches[2].tr("<", ">"), Elm::Version.new(matches[1])],
|
43
|
-
[matches[3], Elm::Version.new(matches[4])]
|
44
|
-
]
|
45
|
-
end
|
46
|
-
|
47
|
-
# Overwrite superclass method to use `flat_map`
|
48
21
|
def initialize(*requirements)
|
49
|
-
|
50
|
-
|
22
|
+
requirements = requirements.flatten.flat_map do |req_string|
|
23
|
+
if req_string.nil?
|
24
|
+
raise BadRequirementError, "Nil requirement not supported in Elm"
|
25
|
+
end
|
26
|
+
|
27
|
+
req_string.split(",").map do |r|
|
28
|
+
convert_elm_constraint_to_ruby_constraint(r)
|
29
|
+
end
|
51
30
|
end
|
52
31
|
|
53
|
-
requirements
|
54
|
-
|
55
|
-
requirements.uniq!
|
32
|
+
super(requirements)
|
33
|
+
end
|
56
34
|
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
@requirements = requirements.flat_map { |r| self.class.parse(r) }
|
61
|
-
sort_requirements!
|
62
|
-
end
|
35
|
+
def satisfied_by?(version)
|
36
|
+
version = Elm::Version.new(version.to_s)
|
37
|
+
super
|
63
38
|
end
|
64
39
|
|
65
|
-
|
66
|
-
def concat(new)
|
67
|
-
new = new.flatten
|
68
|
-
new.compact!
|
69
|
-
new.uniq!
|
70
|
-
new = new.flat_map { |r| self.class.parse(r) }
|
40
|
+
private
|
71
41
|
|
72
|
-
|
73
|
-
|
74
|
-
|
42
|
+
# Override the parser to create Elm::Versions and return an
|
43
|
+
# array of parsed requirements
|
44
|
+
def convert_elm_constraint_to_ruby_constraint(obj)
|
45
|
+
# If a version is given this is an equals requirement
|
46
|
+
return obj if ELM_EXACT_PATTERN.match?(obj.to_s)
|
75
47
|
|
76
|
-
|
77
|
-
@requirements.sort! do |l, r|
|
78
|
-
comp = l.last <=> r.last # first, sort by the requirement's version
|
79
|
-
next comp unless comp.zero?
|
48
|
+
return obj unless (matches = ELM_PATTERN.match(obj.to_s))
|
80
49
|
|
81
|
-
|
82
|
-
|
83
|
-
|
50
|
+
# If the two versions specified are identical this is an equals
|
51
|
+
# requirement
|
52
|
+
return matches[4] if matches[1] == matches[4] && matches[3] == "<="
|
84
53
|
|
85
|
-
|
86
|
-
|
87
|
-
|
54
|
+
[
|
55
|
+
[matches[2].tr("<", ">"), matches[1]].join(" "),
|
56
|
+
[matches[3], matches[4]].join(" ")
|
57
|
+
]
|
88
58
|
end
|
89
59
|
end
|
90
60
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dependabot-elm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.107.
|
4
|
+
version: 0.107.28
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dependabot
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.107.
|
19
|
+
version: 0.107.28
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.107.
|
26
|
+
version: 0.107.28
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: byebug
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -100,14 +100,14 @@ dependencies:
|
|
100
100
|
requirements:
|
101
101
|
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version: 0.
|
103
|
+
version: 0.71.0
|
104
104
|
type: :development
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
108
|
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version: 0.
|
110
|
+
version: 0.71.0
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
112
|
name: vcr
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|