Sha256: 416116b6bcf031ad6cec060c3c33e22ef1ab1d0a9041d89a1792cb8100a77899

Contents?: true

Size: 1.32 KB

Versions: 6

Compression:

Stored size: 1.32 KB

Contents

module DependencyHelpers
  def build_gem(gem_name, version = '1.0.0')
    ENV['GEM_HOME'] = TMP_GEM_ROOT

    unless File.exist? "tmp/gems/gems/#{gem_name}-#{version}"
      FileUtils.mkdir_p "tmp/gems/#{gem_name}/lib"

      FileUtils.cd "tmp/gems/#{gem_name}" do
        gemspec = "#{gem_name}.gemspec"
        lib_file = "lib/#{gem_name}.rb"

        File.open gemspec, 'w' do |file|
          file.puts <<-gemspec
            Gem::Specification.new do |s|
              s.name    = #{gem_name.inspect}
              s.version = #{version.inspect}
              s.authors = 'Mr. Smith'
              s.summary = 'summary'
              s.files   = #{lib_file.inspect}
            end
          gemspec
        end

        File.open lib_file, 'w' do |file|
          file.puts "$#{gem_name}_version = '#{version}'"
        end

        `gem build #{gemspec} 2>&1`
        `gem install -lN #{gem_name}-#{version}.gem -v #{version} 2>&1`
      end
    end
  end

  def build_gems(gems)
    gems.each { |gem| build_gem(gem) }
  end

  def build_git_gem(gem_name, version = '1.0.0')
    build_gem gem_name, version

    Dir.chdir "tmp/gems/#{gem_name}" do
      `git init .`
      `git config user.email "appraisal@thoughtbot.com"`
      `git config user.name "Appraisal"`
      `git add .`
      `git commit -a -m "initial commit"`
    end
  end
end

Version data entries

6 entries across 4 versions & 2 rubygems

Version Path
honeybadger-2.4.0 vendor/gems/ruby/1.9.1/gems/appraisal-1.0.2/spec/support/dependency_helpers.rb
honeybadger-2.4.0 vendor/gems/ruby/2.1.0/gems/appraisal-1.0.2/spec/support/dependency_helpers.rb
honeybadger-2.4.0 vendor/gems/ruby/2.2.0/gems/appraisal-1.0.2/spec/support/dependency_helpers.rb
appraisal-1.0.3 spec/support/dependency_helpers.rb
appraisal-1.0.2 spec/support/dependency_helpers.rb
appraisal-1.0.0 spec/support/dependency_helpers.rb