module MonkeyPatch

Attributes

logger[RW]

Public Class Methods

for(gem_name, version, &block) click to toggle source
# File lib/monkey_patch.rb, line 49
def for(gem_name, version, &block)
  gem = find_gem(gem_name)

  raise MissingGem.new(gem_name, version) if gem.nil?
  raise UpdateRequired.new(gem, version)  if gem.version.to_s != version

  block.call(MonkeyPatch::Patcher.new(gem_name, version))
end

Private Class Methods

find_gem(name) click to toggle source
# File lib/monkey_patch.rb, line 60
def find_gem(name)
  if Gem::Specification.respond_to?(:find_all_by_name)
    Gem::Specification.find_all_by_name(name.to_s).first
  else
    Gem.source_index.find_name(name.to_s).first
  end
end