Sha256: 198e1a26419a84ed89e1b8a468c58335b89b0a80916fb4465eb752371f9b5a24

Contents?: true

Size: 740 Bytes

Versions: 1

Compression:

Stored size: 740 Bytes

Contents

require "rubygems"

module GemVersionCheck
  class Dependency

    attr_reader :name, :expected_version, :version

    def initialize(name, expected_version = nil)
      @name = name
      @expected_version = expected_version || latest_version
    end

    def check(lock_file)
      @version = lock_file.version_for(@name)
      @used = !!@version
      return unless used?
      
      @result = @expected_version == @version
    end

    def valid?
      !!@result
    end

    def used?
      @used
    end

    def latest_version
      @latest_version ||= begin
        spec = retrieve_spec
        spec ? spec.version.to_s : nil
      end
    end

    private

    def retrieve_spec
      Gem.latest_spec_for(@name)
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
gem_version_check-0.0.9 lib/gem_version_check/dependency.rb