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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e950285e371058e616ca6e7689440008010843508e0b37c39e6f9b6255ca40b4
4
- data.tar.gz: ca11657a5e5ccd09d72297637ab19f59974e123456bca161ff7bb6a408f9f402
3
+ metadata.gz: 248099b0721516f90b3bd52044a8264229222b41e462fda36e68ee386024d466
4
+ data.tar.gz: b7bda0674a14e01229535ae55478c179f3a7cb49152f954d1c67c2281aad9e5d
5
5
  SHA512:
6
- metadata.gz: 6cb3ed1215a966ab9ddf9b80a24c418c312e43b7f9710f6773770450db5571d576553aa0c57c43cfc8f2beffca58334c1d615dd700b40a446512ede69e4cb698
7
- data.tar.gz: c803b5aa7f39d176fc228cbfd1a1033532c841576ebf479bec9a6c83db7bfbd153ec36c70db6b91b8c10929f4e01f6fe7ebdb9b4241b86c99f7bb03c3e15bb51
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
- # Override the version pattern to allow local versions
10
- PATTERN_RAW =
9
+ ELM_PATTERN_RAW =
11
10
  "(#{Elm::Version::VERSION_PATTERN}) (<=?) v (<=?) " \
12
11
  "(#{Elm::Version::VERSION_PATTERN})"
13
- PATTERN = /\A#{PATTERN_RAW}\z/.freeze
14
- EXACT_PATTERN = /\A#{Elm::Version::VERSION_PATTERN}\z/.freeze
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
- if requirements.any?(&:nil?)
50
- raise BadRequirementError, "Nil requirement not supported in Elm"
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 = requirements.flatten
54
- requirements.compact!
55
- requirements.uniq!
32
+ super(requirements)
33
+ end
56
34
 
57
- if requirements.empty?
58
- @requirements = [DefaultRequirement]
59
- else
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
- # Overwrite superclass method to use `flat_map`
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
- @requirements.concat new
73
- sort_requirements!
74
- end
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
- def sort_requirements!
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
- l.first <=> r.first # then, sort by the operator (for stability)
82
- end
83
- end
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
- def satisfied_by?(version)
86
- version = Elm::Version.new(version.to_s)
87
- super
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.27
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.27
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.27
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.70.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.70.0
110
+ version: 0.71.0
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: vcr
113
113
  requirement: !ruby/object:Gem::Requirement