gemsolver 0.3.1 → 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: 2eb4212b4e81435cd8caa669d7aa7e6782a334c56c6745086532ffbc81dddaac
4
- data.tar.gz: c114e822aee47649aaf500cbf510b7d9fcc5bfa326723cc7dd169c1fa6ad9687
3
+ metadata.gz: 3c7f1cf1a2a506d7d0dcbfc2f65c5b2d4a82b9aaafa3dfc8c810989850828ca8
4
+ data.tar.gz: ac44dd051b340c622cba978fa950329a2a0993b11328fcadd82549ea401cf3d3
5
5
  SHA512:
6
- metadata.gz: 5afc80cec69af3a1718328f1d0b2be29782fcef7d66c04c85e55942c2554eda734e155a02a51de9b4b2d0e9752de7b09bd9039a9d865998ec1dd5ef440eed0bd
7
- data.tar.gz: 946728b48345850a83c6ec981c5fbc952c2aefa13d8e9c92b4a1bc677c87c6c4a51b3a5774b114982b8b2a2ff1a9ceef4450717aa03af5ff0bf523f14093d0cd
6
+ metadata.gz: 404dae9f2a1cd591a991e9e5a609b0b3f2159097f44ba687e66755e84d7b238eacf0d98f6aa24869e5731475517c73cedb6cf9e053e45c22196354972fc7cbb0
7
+ data.tar.gz: 74ffa40cd3a9c60f81d9086923b6154d0bfbbb1537aa98aeb7cbf04c4d030cdb69780e35ba0a03b5226556313efc1b4c9639a1efdc789cc54684de66bef155bb
@@ -52,17 +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(",").flatten
71
+ parts = parts[0].split(",")
63
72
  @dependencies = []
64
73
  parts.each do |p|
65
74
  name, requirements = p.split(":")
75
+ requirements = requirements.split("&")
66
76
  @dependencies << Gem::Dependency.new(name, requirements)
67
77
  end
68
78
  end
@@ -1,3 +1,3 @@
1
1
  module GemSolver
2
- VERSION = "0.3.1"
2
+ VERSION = "0.4.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gemsolver
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rory Dudley
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-08-25 00:00:00.000000000 Z
11
+ date: 2023-08-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails