solve 0.4.2 → 0.4.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.
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 1.9.3-p392
data/LICENSE CHANGED
@@ -186,7 +186,7 @@ APPENDIX: How to apply the Apache License to your work.
186
186
  same "printed page" as the copyright notice for easier
187
187
  identification within third-party archives.
188
188
 
189
- Copyright [yyyy] [name of copyright owner]
189
+ Copyright 2012-2013 Riot Games
190
190
 
191
191
  Licensed under the Apache License, Version 2.0 (the "License");
192
192
  you may not use this file except in compliance with the License.
data/README.md CHANGED
@@ -39,9 +39,6 @@ And now solve the graph with some demands
39
39
 
40
40
  ## Authors
41
41
 
42
- Author:: Jamie Winsor (<jamie@vialstudios.com>)
43
- Author:: Andrew Garson (<andrew.garson@gmail.com>)
44
-
45
- ## Contributors
46
-
47
- [Thibaud Guillaume-Gentil](https://github.com/thibaudgg) ([@thibaudgg](http://twitter.com/thibaudgg))
42
+ * [Jamie Winsor](https://github.com/reset) (<reset@riotgames.com>)
43
+ * [Andrew Garson](andrewGarson) (<agarson@riotgames.com>)
44
+ * [Thibaud Guillaume-Gentil](https://github.com/thibaudgg) ([@thibaudgg](http://twitter.com/thibaudgg))
data/lib/solve.rb CHANGED
@@ -2,7 +2,7 @@ require 'forwardable'
2
2
  require 'json'
3
3
  require 'solve/errors'
4
4
 
5
- # @author Jamie Winsor <jamie@vialstudios.com>
5
+ # @author Jamie Winsor <reset@riotgames.com>
6
6
  module Solve
7
7
  autoload :Version, 'solve/version'
8
8
  autoload :Artifact, 'solve/artifact'
@@ -1,5 +1,5 @@
1
1
  module Solve
2
- # @author Jamie Winsor <jamie@vialstudios.com>
2
+ # @author Jamie Winsor <reset@riotgames.com>
3
3
  class Artifact
4
4
  include Comparable
5
5
 
@@ -1,5 +1,5 @@
1
1
  module Solve
2
- # @author Jamie Winsor <jamie@vialstudios.com>
2
+ # @author Jamie Winsor <reset@riotgames.com>
3
3
  # @author Thibaud Guillaume-Gentil <thibaud@thibaud.me>
4
4
  class Constraint
5
5
  class << self
@@ -12,7 +12,7 @@ module Solve
12
12
  # If the given string does not contain a valid version string then
13
13
  # nil will be returned.
14
14
  #
15
- # @param [#to_s] string
15
+ # @param [#to_s] constraint
16
16
  #
17
17
  # @example splitting a string with a constraint operator and valid version string
18
18
  # Constraint.split(">= 1.0.0") => [ ">=", "1.0.0" ]
@@ -24,17 +24,32 @@ module Solve
24
24
  # Constraint.split("hello") => nil
25
25
  #
26
26
  # @return [Array, nil]
27
- def split(string)
28
- if string =~ /^[0-9]/
29
- op = "="
30
- ver = string
27
+ def split(constraint)
28
+ if constraint =~ /^[0-9]/
29
+ operator = "="
30
+ version = constraint
31
31
  else
32
- _, op, ver = REGEXP.match(string).to_a
32
+ _, operator, version = REGEXP.match(constraint).to_a
33
33
  end
34
34
 
35
- return nil unless op || ver
35
+ if operator.nil?
36
+ raise Errors::InvalidConstraintFormat.new(constraint)
37
+ end
38
+
39
+ split_version = case version.to_s
40
+ when /^(\d+)\.(\d+)\.(\d+)(-([0-9a-z\-\.]+))?(\+([0-9a-z\-\.]+))?$/i
41
+ [ $1.to_i, $2.to_i, $3.to_i, $5, $7 ]
42
+ when /^(\d+)\.(\d+)\.(\d+)?$/
43
+ [ $1.to_i, $2.to_i, $3.to_i, nil, nil ]
44
+ when /^(\d+)\.(\d+)?$/
45
+ [ $1.to_i, $2.to_i, nil, nil, nil ]
46
+ when /^(\d+)$/
47
+ [ $1.to_i, nil, nil, nil, nil ]
48
+ else
49
+ raise Errors::InvalidConstraintFormat.new(constraint)
50
+ end
36
51
 
37
- [ op, ver ]
52
+ [ operator, split_version ].flatten
38
53
  end
39
54
 
40
55
  # @param [Solve::Constraint] constraint
@@ -83,18 +98,18 @@ module Solve
83
98
  # @return [Boolean]
84
99
  def compare_aprox(constraint, target_version)
85
100
  min = constraint.version
86
- if constraint.patch == nil
87
- max = Version.new([min.major + 1, 0, 0, 0])
101
+ max = if constraint.patch.nil?
102
+ Version.new([min.major + 1, 0, 0, 0])
88
103
  elsif constraint.build
89
104
  identifiers = constraint.version.identifiers(:build)
90
- replace = identifiers.last.to_i.to_s == identifiers.last.to_s ? "-" : nil
91
- max = Version.new([min.major, min.minor, min.patch, min.pre_release, identifiers.fill(replace, -1).join('.')])
105
+ replace = identifiers.last.to_i.to_s == identifiers.last.to_s ? "-" : nil
106
+ Version.new([min.major, min.minor, min.patch, min.pre_release, identifiers.fill(replace, -1).join('.')])
92
107
  elsif constraint.pre_release
93
108
  identifiers = constraint.version.identifiers(:pre_release)
94
- replace = identifiers.last.to_i.to_s == identifiers.last.to_s ? "-" : nil
95
- max = Version.new([min.major, min.minor, min.patch, identifiers.fill(replace, -1).join('.')])
109
+ replace = identifiers.last.to_i.to_s == identifiers.last.to_s ? "-" : nil
110
+ Version.new([min.major, min.minor, min.patch, identifiers.fill(replace, -1).join('.')])
96
111
  else
97
- max = Version.new([min.major, min.minor + 1, 0, 0])
112
+ Version.new([min.major, min.minor + 1, 0, 0])
98
113
  end
99
114
  min <= target_version && target_version < max
100
115
  end
@@ -125,12 +140,7 @@ module Solve
125
140
  constraint = ">= 0.0.0"
126
141
  end
127
142
 
128
- @operator, ver_str = self.class.split(constraint)
129
- if @operator.nil? || ver_str.nil?
130
- raise Errors::InvalidConstraintFormat.new(constraint)
131
- end
132
-
133
- @major, @minor, @patch, @pre_release, @build = Version.split(ver_str)
143
+ @operator, @major, @minor, @patch, @pre_release, @build = self.class.split(constraint)
134
144
  @compare_fun = OPERATORS.fetch(self.operator)
135
145
  end
136
146
 
@@ -159,6 +169,10 @@ module Solve
159
169
  def satisfies?(target_version)
160
170
  target_version = Version.new(target_version.to_s)
161
171
 
172
+ if target_version.pre_release? && !version.pre_release?
173
+ return false
174
+ end
175
+
162
176
  @compare_fun.call(self, target_version)
163
177
  end
164
178
 
data/lib/solve/demand.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module Solve
2
- # @author Jamie Winsor <jamie@vialstudios.com>
2
+ # @author Jamie Winsor <reset@riotgames.com>
3
3
  class Demand
4
4
  # A reference to the solver this demand belongs to
5
5
  #
@@ -1,5 +1,5 @@
1
1
  module Solve
2
- # @author Jamie Winsor <jamie@vialstudios.com>
2
+ # @author Jamie Winsor <reset@riotgames.com>
3
3
  class Dependency
4
4
  # A reference to the artifact this dependency belongs to
5
5
  #
data/lib/solve/errors.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module Solve
2
- # @author Jamie Winsor <jamie@vialstudios.com>
2
+ # @author Jamie Winsor <reset@riotgames.com>
3
3
  module Errors
4
4
  class SolveError < StandardError
5
5
  alias_method :mesage, :to_s
@@ -1,3 +1,3 @@
1
1
  module Solve
2
- VERSION = "0.4.2"
2
+ VERSION = "0.4.3"
3
3
  end
data/lib/solve/graph.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module Solve
2
- # @author Jamie Winsor <jamie@vialstudios.com>
2
+ # @author Jamie Winsor <reset@riotgames.com>
3
3
  class Graph
4
4
  class << self
5
5
  # Create a key for a graph from an instance of an Artifact or Dependency
data/lib/solve/solver.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  module Solve
2
- # @author Jamie Winsor <jamie@vialstudios.com>
2
+ # @author Jamie Winsor <reset@riotgames.com>
3
+ # @author Andrew Garson <agarson@riotgames.com>
3
4
  class Solver
4
5
  autoload :VariableTable, 'solve/solver/variable_table'
5
6
  autoload :VariableRow, 'solve/solver/variable_row'
@@ -101,7 +102,7 @@ module Solve
101
102
  trace("\t#{constraint}")
102
103
  end
103
104
  trace("Possible values are #{possible_values_for_unbound}")
104
-
105
+
105
106
  while possible_value = possible_values_for_unbound.shift
106
107
  possible_artifact = graph.get_artifact(unbound_variable.artifact, possible_value.version)
107
108
  possible_dependencies = possible_artifact.dependencies
@@ -1,7 +1,7 @@
1
1
  module Solve
2
2
  class Solver
3
- # @author Andrew Garson <andrew.garson@gmail.com>
4
- # @author Jamie Winsor <jamie@vialstudios.com>
3
+ # @author Andrew Garson <agarson@riotgames.com>
4
+ # @author Jamie Winsor <reset@riotgames.com>
5
5
  class ConstraintRow
6
6
  extend Forwardable
7
7
 
@@ -1,7 +1,7 @@
1
1
  module Solve
2
2
  class Solver
3
- # @author Andrew Garson <andrew.garson@gmail.com>
4
- # @author Jamie Winsor <jamie@vialstudios.com>
3
+ # @author Andrew Garson <agarson@riotgames.com>
4
+ # @author Jamie Winsor <reset@riotgames.com>
5
5
  class ConstraintTable
6
6
  attr_reader :rows
7
7
 
@@ -1,7 +1,7 @@
1
1
  module Solve
2
2
  class Solver
3
- # @author Andrew Garson <andrew.garson@gmail.com>
4
- # @author Jamie Winsor <jamie@vialstudios.com>
3
+ # @author Andrew Garson <agarson@riotgames.com>
4
+ # @author Jamie Winsor <reset@riotgames.com>
5
5
  class VariableRow
6
6
  attr_reader :artifact
7
7
  attr_reader :value
@@ -1,7 +1,7 @@
1
1
  module Solve
2
2
  class Solver
3
- # @author Andrew Garson <andrew.garson@gmail.com>
4
- # @author Jamie Winsor <jamie@vialstudios.com>
3
+ # @author Andrew Garson <agarson@riotgames.com>
4
+ # @author Jamie Winsor <reset@riotgames.com>
5
5
  class VariableTable
6
6
  attr_reader :rows
7
7
 
data/lib/solve/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module Solve
2
- # @author Jamie Winsor <jamie@vialstudios.com>
2
+ # @author Jamie Winsor <reset@riotgames.com>
3
3
  # @author Thibaud Guillaume-Gentil <thibaud@thibaud.me>
4
4
  class Version
5
5
  class << self
@@ -57,9 +57,11 @@ module Solve
57
57
  @major, @minor, @patch, @pre_release, @build = self.class.split(args.first.to_s)
58
58
  end
59
59
 
60
- @major ||= 0
61
- @minor ||= 0
62
- @patch ||= 0
60
+ @major ||= 0
61
+ @minor ||= 0
62
+ @patch ||= 0
63
+ @pre_release ||= nil
64
+ @build ||= nil
63
65
  end
64
66
 
65
67
  # @param [Solve::Version] other
@@ -89,6 +91,10 @@ module Solve
89
91
  end
90
92
  end
91
93
 
94
+ def pre_release?
95
+ !!pre_release
96
+ end
97
+
92
98
  # @return [Integer]
93
99
  def pre_release_and_build_presence_score
94
100
  pre_release ? 0 : (build.nil? ? 1 : 2)
data/solve.gemspec CHANGED
@@ -3,10 +3,10 @@ require File.expand_path('../lib/solve/gem_version', __FILE__)
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.authors = ["Jamie Winsor", "Andrew Garson", "Thibaud Guillaume-Gentil"]
6
- s.email = ["jamie@vialstudios.com", "andrew.garson@gmail.com", "thibaud@thibaud.me"]
6
+ s.email = ["reset@riotgames.com", "agarson@riotgames.com", "thibaud@thibaud.me"]
7
7
  s.description = %q{A Ruby version constraint solver}
8
8
  s.summary = %q{A Ruby version constraint solver implementing Semantic Versioning 2.0.0-rc.1}
9
- s.homepage = "https://github.com/reset/solve"
9
+ s.homepage = "https://github.com/RiotGames/solve"
10
10
  s.license = "Apache 2.0"
11
11
 
12
12
  s.files = `git ls-files`.split($\)
@@ -49,49 +49,205 @@ describe Solve::Constraint do
49
49
  end
50
50
  end
51
51
 
52
- context "given a nil value" do
53
- it "raises an InvalidConstraintFormat error" do
54
- lambda {
55
- subject.new(nil)
56
- }.should raise_error(Solve::Errors::InvalidConstraintFormat)
52
+ context "given a constraint that does not include a minor version" do
53
+ it "has a nil value for minor" do
54
+ subject.new(">= 1").minor.should be_nil
57
55
  end
58
56
  end
59
57
 
60
- context "given a string containing only a major and minor version" do
58
+ context "given a constraint that does not include a patch version" do
61
59
  it "has a nil value for patch" do
62
60
  subject.new("~> 1.2").patch.should be_nil
63
61
  end
64
62
  end
63
+
64
+ context "given a constraint that does not include a build version" do
65
+ it "has a nil value for build" do
66
+ subject.new(">= 1.2.3-alpha").build.should be_nil
67
+ end
68
+ end
69
+
70
+ context "given a constraint that does not include a pre release version" do
71
+ it "has a nil value for pre release" do
72
+ subject.new(">= 1.2.3+build").pre_release.should be_nil
73
+ end
74
+ end
65
75
  end
66
76
 
67
77
  describe "::split" do
68
- it "returns an array containing two items" do
69
- subject.split(valid_string).should have(2).items
78
+ let(:constraint_string) { nil }
79
+
80
+ subject { described_class.split(constraint_string) }
81
+
82
+ context "given a constraint containing the elements (operator, major, minor, patch, pre_release, build)" do
83
+ let(:constraint_string) { ">= 1.2.3-alpha+build" }
84
+
85
+ it "returns an array with the constraint operator at index 0" do
86
+ subject[0].should eql(">=")
87
+ end
88
+
89
+ it "returns an array with the major version in index 1" do
90
+ subject[1].should eql(1)
91
+ end
92
+
93
+ it "returns an array with the minor version at index 2" do
94
+ subject[2].should eql(2)
95
+ end
96
+
97
+ it "returns an array with the patch version at index 3" do
98
+ subject[3].should eql(3)
99
+ end
100
+
101
+ it "returns an array with the pre release version at index 4" do
102
+ subject[4].should eql("alpha")
103
+ end
104
+
105
+ it "returns an array with the build version at index 5" do
106
+ subject[5].should eql("build")
107
+ end
108
+ end
109
+
110
+ context "given a constraint containing the elements (operator, major, minor, patch, pre_release)" do
111
+ let(:constraint_string) { ">= 1.2.3-alpha" }
112
+
113
+ it "returns an array with the constraint operator at index 0" do
114
+ subject[0].should eql(">=")
115
+ end
116
+
117
+ it "returns an array with the major version in index 1" do
118
+ subject[1].should eql(1)
119
+ end
120
+
121
+ it "returns an array with the minor version at index 2" do
122
+ subject[2].should eql(2)
123
+ end
124
+
125
+ it "returns an array with the patch version at index 3" do
126
+ subject[3].should eql(3)
127
+ end
128
+
129
+ it "returns an array with the pre release version at index 4" do
130
+ subject[4].should eql("alpha")
131
+ end
132
+
133
+ it "returns an array with a nil value at index 5" do
134
+ subject[5].should be_nil
135
+ end
136
+ end
137
+
138
+ context "given a constraint containing the elements (operator, major, minor, patch)" do
139
+ let(:constraint_string) { ">= 1.2.3" }
140
+
141
+ it "returns an array with the constraint operator at index 0" do
142
+ subject[0].should eql(">=")
143
+ end
144
+
145
+ it "returns an array with the major version in index 1" do
146
+ subject[1].should eql(1)
147
+ end
148
+
149
+ it "returns an array with the minor version at index 2" do
150
+ subject[2].should eql(2)
151
+ end
152
+
153
+ it "returns an array with the patch version at index 3" do
154
+ subject[3].should eql(3)
155
+ end
156
+
157
+ it "returns an array with a nil value at index 4" do
158
+ subject[4].should be_nil
159
+ end
160
+
161
+ it "returns an array with a nil value at index 5" do
162
+ subject[5].should be_nil
163
+ end
70
164
  end
71
165
 
72
- it "returns the operator at index 0" do
73
- subject.split(valid_string)[0].should eql(">=")
166
+ context "given a constraint containing the elements (operator, major, minor)" do
167
+ let(:constraint_string) { ">= 1.2" }
168
+
169
+ it "returns an array with the constraint operator at index 0" do
170
+ subject[0].should eql(">=")
171
+ end
172
+
173
+ it "returns an array with the major version in index 1" do
174
+ subject[1].should eql(1)
175
+ end
176
+
177
+ it "returns an array with the minor version at index 2" do
178
+ subject[2].should eql(2)
179
+ end
180
+
181
+ it "returns an array with a nil value at index 3" do
182
+ subject[3].should be_nil
183
+ end
184
+
185
+ it "returns an array with a nil value at index 4" do
186
+ subject[4].should be_nil
187
+ end
188
+
189
+ it "returns an array with a nil value at index 5" do
190
+ subject[5].should be_nil
191
+ end
192
+ end
193
+
194
+ context "given a constraint containing the elements (operator, major)" do
195
+ let(:constraint_string) { ">= 1" }
196
+
197
+ it "returns an array with the constraint operator at index 0" do
198
+ subject[0].should eql(">=")
199
+ end
200
+
201
+ it "returns an array with the major version in index 1" do
202
+ subject[1].should eql(1)
203
+ end
204
+
205
+ it "returns an array with a nil value at index 2" do
206
+ subject[2].should be_nil
207
+ end
208
+
209
+ it "returns an array with a nil value at index 3" do
210
+ subject[3].should be_nil
211
+ end
212
+
213
+ it "returns an array with a nil value at index 4" do
214
+ subject[4].should be_nil
215
+ end
216
+
217
+ it "returns an array with a nil value at index 5" do
218
+ subject[5].should be_nil
219
+ end
74
220
  end
75
221
 
76
- it "returns the version string at index 1" do
77
- subject.split(valid_string)[1].should eql("0.0.0")
222
+ context "given a constraint which is missing an operator" do
223
+ let(:constraint_string) { "1.2.3" }
224
+
225
+ it "returns an equality operator at index 0" do
226
+ subject[0].should eql("=")
227
+ end
78
228
  end
79
229
 
80
230
  context "given a string that does not match the Constraint REGEXP" do
81
- it "returns nil" do
82
- subject.split(invalid_string).should be_nil
231
+ let(:constraint_string) { "x23u7089213.*" }
232
+
233
+ it "raises an InvalidConstraintFormat error" do
234
+ expect {
235
+ subject.split(invalid_string)
236
+ }.to raise_error(Solve::Errors::InvalidConstraintFormat)
83
237
  end
84
238
  end
85
239
 
86
240
  context "given a string that does not contain an operator" do
241
+ let(:constraint_string) { "1.2.3" }
242
+
87
243
  it "returns a constraint constraint with a default operator (=)" do
88
- subject.split("1.0.0")[0].should eql("=")
244
+ subject[0].should eql("=")
89
245
  end
90
246
  end
91
247
  end
92
248
  end
93
249
 
94
- describe "#satisfies?", :focus do
250
+ describe "#satisfies?" do
95
251
  subject { Solve::Constraint.new("= 1.0.0") }
96
252
 
97
253
  it { should satisfies("1.0.0") }
@@ -100,6 +256,22 @@ describe Solve::Constraint do
100
256
  should satisfies(Solve::Version.new("1.0.0"))
101
257
  end
102
258
 
259
+ context "when the constraint contains a pre-release value" do
260
+ subject { Solve::Constraint.new(">= 1.2.3-alpha") }
261
+
262
+ it "is satisfied by pre-release versions" do
263
+ should satisfies("1.2.3-beta")
264
+ end
265
+ end
266
+
267
+ context "when the constraint does not contain a pre-release value" do
268
+ subject { Solve::Constraint.new(">= 1.2.3") }
269
+
270
+ it "is not satisfied by pre-release versions" do
271
+ should_not satisfies("1.2.3-beta")
272
+ end
273
+ end
274
+
103
275
  context "strictly greater than (>)" do
104
276
  subject { Solve::Constraint.new("> 1.0.0-alpha") }
105
277
 
@@ -139,7 +311,7 @@ describe Solve::Constraint do
139
311
  subject { Solve::Constraint.new("<= 1.0.0") }
140
312
 
141
313
  it { should satisfies("0.9.9+build") }
142
- it { should satisfies("1.0.0-alpha") }
314
+ it { should_not satisfies("1.0.0-alpha") }
143
315
  it { should satisfies("1.0.0") }
144
316
  it { should_not satisfies("1.0.0+build") }
145
317
  it { should_not satisfies("1.0.1") }
@@ -156,16 +328,18 @@ describe Solve::Constraint do
156
328
  it { should satisfies("1.2.0") }
157
329
  it { should satisfies("1.2.3") }
158
330
  it { should satisfies("1.2.3+build") }
331
+ it { should satisfies("1.3") }
332
+ it { should satisfies("1.3.0") }
159
333
  it { should_not satisfies("2.0.0-0") }
160
334
  it { should_not satisfies("2.0.0") }
161
335
  end
162
336
 
163
- context "when the last value in the constraint is for minor" do
164
- subject { Solve::Constraint.new("#{operator} 1.2.3") }
337
+ context "when the last value in the constraint is for patch" do
338
+ subject { Solve::Constraint.new("#{operator} 1.2.0") }
165
339
 
166
340
  it { should_not satisfies("1.1.0") }
167
341
  it { should_not satisfies("1.2.3-alpha") }
168
- it { should_not satisfies("1.2.2") }
342
+ it { should satisfies("1.2.2") }
169
343
  it { should satisfies("1.2.3") }
170
344
  it { should satisfies("1.2.5+build") }
171
345
  it { should_not satisfies("1.3.0-0") }
@@ -282,6 +282,18 @@ describe Solve::Version do
282
282
  end
283
283
  end
284
284
 
285
+ describe "#pre_release?" do
286
+ context "when a pre-release value is set" do
287
+ subject { described_class.new("1.2.3-alpha").pre_release? }
288
+ it { should be_true }
289
+ end
290
+
291
+ context "when no pre-release value is set" do
292
+ subject { described_class.new("1.2.3").pre_release? }
293
+ it { should be_false }
294
+ end
295
+ end
296
+
285
297
  describe "#to_s" do
286
298
  subject { Solve::Version.new("1.0.0-rc.1+build.1") }
287
299
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: solve
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.2
4
+ version: 0.4.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2013-02-26 00:00:00.000000000 Z
14
+ date: 2013-05-06 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: json
@@ -31,15 +31,15 @@ dependencies:
31
31
  version: '0'
32
32
  description: A Ruby version constraint solver
33
33
  email:
34
- - jamie@vialstudios.com
35
- - andrew.garson@gmail.com
34
+ - reset@riotgames.com
35
+ - agarson@riotgames.com
36
36
  - thibaud@thibaud.me
37
37
  executables: []
38
38
  extensions: []
39
39
  extra_rdoc_files: []
40
40
  files:
41
41
  - .gitignore
42
- - .rbenv-version
42
+ - .ruby-version
43
43
  - .travis.yml
44
44
  - Gemfile
45
45
  - Guardfile
@@ -73,7 +73,7 @@ files:
73
73
  - spec/unit/solve/solver_spec.rb
74
74
  - spec/unit/solve/version_spec.rb
75
75
  - spec/unit/solve_spec.rb
76
- homepage: https://github.com/reset/solve
76
+ homepage: https://github.com/RiotGames/solve
77
77
  licenses:
78
78
  - Apache 2.0
79
79
  post_install_message:
@@ -94,10 +94,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
94
94
  version: '0'
95
95
  segments:
96
96
  - 0
97
- hash: 3780464592715279943
97
+ hash: -856939986988863331
98
98
  requirements: []
99
99
  rubyforge_project:
100
- rubygems_version: 1.8.24
100
+ rubygems_version: 1.8.23
101
101
  signing_key:
102
102
  specification_version: 3
103
103
  summary: A Ruby version constraint solver implementing Semantic Versioning 2.0.0-rc.1
data/.rbenv-version DELETED
@@ -1,2 +0,0 @@
1
- 1.9.3-p327
2
-