Sha256: 53fa2b4aa3b707bdc53571d8cc59ca4f13564772e6b7cbf971a501c82197b78a
Contents?: true
Size: 1.17 KB
Versions: 4
Compression:
Stored size: 1.17 KB
Contents
require 'appraisal/dependency' require 'appraisal/gemspec' module Appraisal # Load bundler Gemfiles and merge dependencies class Gemfile attr_reader :dependencies def initialize @dependencies = {} end def load(path) run(IO.read(path)) end def run(definitions) instance_eval(definitions, __FILE__, __LINE__) end def gem(name, *requirements) @dependencies[name] = Dependency.new(name, requirements) end def source(source) @source = source end def to_s [source_entry, dependencies_entry, gemspec_entry].join("\n\n") end def dup gemfile = Gemfile.new gemfile.source @source dependencies.values.each do |dependency| gemfile.gem(dependency.name, *dependency.requirements) end gemfile.gemspec(@gemspec.options) if @gemspec gemfile end def gemspec(options = {}) @gemspec = Gemspec.new(options) end protected def source_entry %(source "#{@source}") end def dependencies_entry dependencies.values.map { |dependency| dependency.to_s }.join("\n") end def gemspec_entry @gemspec.to_s end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
appraisal-0.3.8 | lib/appraisal/gemfile.rb |
appraisal-0.3.7 | lib/appraisal/gemfile.rb |
appraisal-0.3.6 | lib/appraisal/gemfile.rb |
appraisal-0.3.5 | lib/appraisal/gemfile.rb |