class Appraisal::Gemfile
Load bundler Gemfiles and merge dependencies
Attributes
dependencies[R]
Public Class Methods
new()
click to toggle source
# File lib/appraisal/gemfile.rb, line 9 def initialize @sources = [] @dependencies = [] @gemspec = nil end
Public Instance Methods
dup()
click to toggle source
# File lib/appraisal/gemfile.rb, line 40 def dup gemfile = Gemfile.new @sources.each { |source| gemfile.source(source) } dependencies.each do |dependency| gemfile.gem(dependency.name, *dependency.requirements) end gemfile.gemspec(@gemspec.options) if @gemspec gemfile end
gem(name, *requirements)
click to toggle source
# File lib/appraisal/gemfile.rb, line 23 def gem(name, *requirements) @dependencies.reject! { |dependency| dependency.name == name } @dependencies << Dependency.new(name, requirements) end
gemspec(options = {})
click to toggle source
# File lib/appraisal/gemfile.rb, line 50 def gemspec(options = {}) @gemspec = Gemspec.new(options) end
group(*names)
click to toggle source
# File lib/appraisal/gemfile.rb, line 28 def group(*names) # ignore the group end
load(path)
click to toggle source
# File lib/appraisal/gemfile.rb, line 15 def load(path) run(IO.read(path)) end
run(definitions)
click to toggle source
# File lib/appraisal/gemfile.rb, line 19 def run(definitions) instance_eval(definitions, __FILE__, __LINE__) end
source(source)
click to toggle source
# File lib/appraisal/gemfile.rb, line 32 def source(source) @sources << source end
to_s()
click to toggle source
# File lib/appraisal/gemfile.rb, line 36 def to_s [source_entry, dependencies_entry, gemspec_entry].join("\n\n") end
Protected Instance Methods
dependencies_entry()
click to toggle source
# File lib/appraisal/gemfile.rb, line 60 def dependencies_entry dependencies.map { |dependency| dependency.to_s }.join("\n") end
gemspec_entry()
click to toggle source
# File lib/appraisal/gemfile.rb, line 64 def gemspec_entry @gemspec.to_s end
source_entry()
click to toggle source
# File lib/appraisal/gemfile.rb, line 56 def source_entry @sources.map { |source| "source #{source.inspect}" }.join("\n") end