Sha256: 1f4706922707ab3efc0c019d6741fc1a14e217240d5c69fedf4060b5683933ac

Contents?: true

Size: 1.01 KB

Versions: 1

Compression:

Stored size: 1.01 KB

Contents

require 'appraisal/dependency_list'
require 'appraisal/utils'

module Appraisal
  class GitSource
    def initialize(source, options = {})
      @dependencies = DependencyList.new
      @source = source
      @options = options
    end

    def gem(name, *requirements)
      @dependencies.add(name, requirements)
    end

    def run(&block)
      instance_exec(&block)
    end

    def to_s
      dependencies = @dependencies.to_s.strip.gsub(/^/, '  ')

      if @options.empty?
        "git #{Utils.prefix_path(@source).inspect} do\n#{dependencies}\nend"
      else
        "git #{Utils.prefix_path(@source).inspect}, #{Utils.format_string(@options)} do\n" +
          "#{dependencies}\nend"
      end
    end

    # :nodoc:
    def for_dup
      dependencies = @dependencies.for_dup.strip.gsub(/^/, '  ')

      if @options.empty?
        "git #{@source.inspect} do\n#{dependencies}\nend"
      else
        "git #{@source.inspect}, #{Utils.format_string(@options)} do\n" +
          "#{dependencies}\nend"
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
appraisal-1.0.3 lib/appraisal/git_source.rb