synvert-core 0.24.0 → 0.25.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: b07d8def5ce35c251b7d1f7b04388654aadce0b6498c969b81457c9867d37dfb
4
- data.tar.gz: d43a62b62ba6a4fa6bd51a97f7dfd6a4a805651d8ae6a595eac4724bba67f792
3
+ metadata.gz: 8365e77c33d2effc81fe2cd19d522785282db9c06aa8e399c6469f9cbdc32cc7
4
+ data.tar.gz: c60c8a032106b681abdac98b31a87cfbac6649959eb21fe1bbd0e6be1486c53c
5
5
  SHA512:
6
- metadata.gz: 98a9a81c409ca86ad13a58d00ef380ced1bc0a0fd3288c970e13f9a04ed4f13180b2b3e20ed87fc3521ee61531709507e7ce412ab7802c5d1091ef39fc63dca3
7
- data.tar.gz: 05ecb25382bca6d4cc0e677b1ea3ccf19a0113bf2376fc1888135c1f069c4a4d7b2196f648b0433133761646d6dae8de4a43f43e28b506062ad97c236c9c38f3
6
+ metadata.gz: 2017b6bb33289a7a2c2cba047f966079ae07fa6035acf819b1898c32ee7fc38417dc424c9ba263a33989e3eb0e241bdef32b816135ae1b86e0aae9f176be14d0
7
+ data.tar.gz: a71a80f5a7c177950a52eebad506778fd7a8993577d7c7ec22e57467a7a80a0610edf5a08bc23d9d831547ec4560da077bae5e358f9f4e3c34c089a6674bbd7f
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 0.25.0 (2021-03-23)
4
+
5
+ * Use `Gem::Dependency#match?` to check gem version
6
+
3
7
  ## 0.24.0 (2021-03-17)
4
8
 
5
9
  * Rename helper method `has_key?` to `key?`
@@ -205,7 +205,7 @@ module Parser::AST
205
205
  value_node = children.find { |pair_node| pair_node.key.to_value == key }
206
206
  value_node ? value_node.value : nil
207
207
  else
208
- raise Synvert::Core::MethodNotSupported, "has_value is not handled for #{debug_info}"
208
+ raise Synvert::Core::MethodNotSupported, "hash_value is not handled for #{debug_info}"
209
209
  end
210
210
  end
211
211
 
@@ -3,22 +3,13 @@
3
3
  module Synvert::Core
4
4
  # GemSpec checks and compares gem version.
5
5
  class Rewriter::GemSpec
6
- OPERATORS = { eq: '==', lt: '<', gt: '>', lte: '<=', gte: '>=', ne: '!=' }.freeze
7
-
8
6
  # Initialize a gem_spec.
9
7
  #
10
8
  # @param name [String] gem name
11
- # @param comparator [Hash] comparator to gem version, e.g. {eq: '2.0.0'},
12
- # comparator key can be eq, lt, gt, lte, gte or ne.
13
- def initialize(name, comparator)
9
+ # @param version [String] gem version, e.g. '~> 2.0.0',
10
+ def initialize(name, version)
14
11
  @name = name
15
- if comparator.is_a?(Hash)
16
- @operator = comparator.keys.first
17
- @version = Gem::Version.new comparator.values.first
18
- else
19
- @operator = :eq
20
- @version = Gem::Version.new comparator
21
- end
12
+ @version = version
22
13
  end
23
14
 
24
15
  # Check if the specified gem version in Gemfile.lock matches gem_spec comparator.
@@ -33,11 +24,7 @@ module Synvert::Core
33
24
 
34
25
  ENV['BUNDLE_GEMFILE'] = Configuration.path # make sure bundler reads Gemfile.lock in the correct path
35
26
  parser = Bundler::LockfileParser.new(File.read(gemfile_lock_path))
36
- if spec = parser.specs.find { |spec| spec.name == @name }
37
- Gem::Version.new(spec.version).send(OPERATORS[@operator], @version)
38
- else
39
- false
40
- end
27
+ parser.specs.any? { |spec| Gem::Dependency.new(@name, @version).match?(spec) }
41
28
  end
42
29
  end
43
30
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Synvert
4
4
  module Core
5
- VERSION = '0.24.0'
5
+ VERSION = '0.25.0'
6
6
  end
7
7
  end
@@ -21,7 +21,7 @@ GEM
21
21
  it 'returns true if version in Gemfile.lock is greater than definition' do
22
22
  expect(File).to receive(:exist?).with('./Gemfile.lock').and_return(true)
23
23
  expect(File).to receive(:read).with('./Gemfile.lock').and_return(gemfile_lock_content)
24
- gem_spec = Rewriter::GemSpec.new('ast', { gte: '1.0.0' })
24
+ gem_spec = Rewriter::GemSpec.new('ast', '~> 1.1')
25
25
  expect(gem_spec).to be_match
26
26
  end
27
27
 
@@ -35,7 +35,7 @@ GEM
35
35
  it 'returns false if version in Gemfile.lock is less than definition' do
36
36
  expect(File).to receive(:exist?).with('./Gemfile.lock').and_return(true)
37
37
  expect(File).to receive(:read).with('./Gemfile.lock').and_return(gemfile_lock_content)
38
- gem_spec = Rewriter::GemSpec.new('ast', { gt: '1.2.0' })
38
+ gem_spec = Rewriter::GemSpec.new('ast', '> 1.2.0')
39
39
  expect(gem_spec).not_to be_match
40
40
  end
41
41
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: synvert-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.24.0
4
+ version: 0.25.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Richard Huang
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-03-17 00:00:00.000000000 Z
11
+ date: 2021-03-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport