Sha256: c431786581880e76c09d21361d19160c3c19cc8536341cfe47258852ffac2127
Contents?: true
Size: 1.1 KB
Versions: 1
Compression:
Stored size: 1.1 KB
Contents
# frozen_string_literal: true module Synvert::Core # GemSpec checks and compares gem version. class Rewriter::GemSpec attr_reader :name, :version # Initialize a gem_spec. # # @param name [String] gem name # @param version [String] gem version, e.g. '~> 2.0.0', def initialize(name, version) @name = name @version = version end # Check if the specified gem version in Gemfile.lock matches gem_spec comparator. # # @return [Boolean] true if matches, otherwise false. # @raise [Synvert::Core::GemfileLockNotFound] raise if Gemfile.lock does not exist. def match? gemfile_lock_path = File.expand_path(File.join(Configuration.path, 'Gemfile.lock')) # if Gemfile.lock does not exist, just ignore this check return true unless File.exist?(gemfile_lock_path) ENV['BUNDLE_GEMFILE'] = Configuration.path # make sure bundler reads Gemfile.lock in the correct path parser = Bundler::LockfileParser.new(File.read(gemfile_lock_path)) parser.specs.any? { |spec| Gem::Dependency.new(@name, @version).match?(spec) } end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
synvert-core-0.63.1 | lib/synvert/core/rewriter/gem_spec.rb |