Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

file 33 lines (27 sloc) 0.65 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
module Appraisal
  # Dependency on a gem and optional version requirements
  class Dependency
    attr_reader :name, :requirements

    def initialize(name, requirements)
      @name = name
      @requirements = requirements
    end

    def to_s
      if no_requirements?
        gem_name
      else
        "#{gem_name}, #{inspect_requirements}"
      end
    end

    private

    def gem_name
      %{gem "#{name}"}
    end

    def no_requirements?
      requirements.nil? || requirements.empty?
    end

    def inspect_requirements
      requirements.map { |requirement| requirement.inspect.gsub(/^\{|\}$/, '') }.join(", ")
    end
  end
end
Something went wrong with that request. Please try again.