gemsolver 0.3.2 → 0.4.0

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: 0335c7499e2693fa2c1c31a52190cc831c7984a8ff1f886087654d6f60b975d2
4
- data.tar.gz: 14979b0f9777245fb48d34db12c8b0778fa405d3c70bf2ab9d66277724d18b9a
3
+ metadata.gz: 3c7f1cf1a2a506d7d0dcbfc2f65c5b2d4a82b9aaafa3dfc8c810989850828ca8
4
+ data.tar.gz: ac44dd051b340c622cba978fa950329a2a0993b11328fcadd82549ea401cf3d3
5
5
  SHA512:
6
- metadata.gz: b8b19d65eaf2c1763107bc6258ca6f852f6c00aa13320fbac8894056d1c6d0243bf2e472e93c8079f819bee8847274bf80ec9231b967c201fc12e5c7f08aedb0
7
- data.tar.gz: abaef1dc023acb8470b1522e1e98409a4839633a0e5d9539a89bdd42a24e0d49f286429fdcc555c6971588725f4995c2fb5c63e1509e479bbb8dff55e0ae61f6
6
+ metadata.gz: 404dae9f2a1cd591a991e9e5a609b0b3f2159097f44ba687e66755e84d7b238eacf0d98f6aa24869e5731475517c73cedb6cf9e053e45c22196354972fc7cbb0
7
+ data.tar.gz: 74ffa40cd3a9c60f81d9086923b6154d0bfbbb1537aa98aeb7cbf04c4d030cdb69780e35ba0a03b5226556313efc1b4c9639a1efdc789cc54684de66bef155bb
@@ -52,18 +52,27 @@ module GemSolver
52
52
  return if raw.blank?
53
53
 
54
54
  parts = raw.split(" ", 2)
55
- @version = Gem::Version.new(parts[0])
55
+ @version = Gem::Version.new(sanitize_version(parts[0]))
56
56
  parts.drop(1)
57
57
  end
58
58
 
59
+ def sanitize_version(version)
60
+ # TODO: Not sure how rubygems.org handles this,
61
+ # but there are definitely info files out there with characters
62
+ # that throw errors when trying to pass them to Gem::Version.new.
63
+ # This might be good enough, since it's really only used for
64
+ # comparing versions, but it's probably worth looking into.
65
+ version.gsub("_", ".").gsub("+", ".")
66
+ end
67
+
59
68
  def parse_dependencies(parts)
60
69
  return if parts.blank?
61
70
 
62
- parts = parts.split(",")
63
- parts.flatten! if parts.length == 1
71
+ parts = parts[0].split(",")
64
72
  @dependencies = []
65
73
  parts.each do |p|
66
74
  name, requirements = p.split(":")
75
+ requirements = requirements.split("&")
67
76
  @dependencies << Gem::Dependency.new(name, requirements)
68
77
  end
69
78
  end
@@ -1,3 +1,3 @@
1
1
  module GemSolver
2
- VERSION = "0.3.2"
2
+ VERSION = "0.4.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gemsolver
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rory Dudley