class Gem::Specification

Attributes

location[RW]
relative_loaded_from[RW]
source[RW]

Public Instance Methods

full_gem_path() click to toggle source
# File lib/bundler/rubygems_ext.rb, line 21
def full_gem_path
  source.respond_to?(:path) ?
    Pathname.new(loaded_from).dirname.expand_path(Bundler.root).to_s :
    rg_full_gem_path
end
Also aliased as: rg_full_gem_path
gem_dir() click to toggle source
# File lib/bundler/rubygems_ext.rb, line 48
def gem_dir
  full_gem_path
end
git_version() click to toggle source
# File lib/bundler/rubygems_ext.rb, line 56
def git_version
  if @loaded_from && File.exist?(File.join(full_gem_path, ".git"))
    sha = Dir.chdir(full_gem_path){ %xgit rev-parse HEAD`.strip }
    " #{sha[0..6]}"
  end
end
groups() click to toggle source
# File lib/bundler/rubygems_ext.rb, line 52
def groups
  @groups ||= []
end
load_paths() click to toggle source
# File lib/bundler/rubygems_ext.rb, line 33
def load_paths
  paths = require_paths.map do |require_path|
    if require_path.include?(full_gem_path)
      require_path
    else
      File.join(full_gem_path, require_path)
    end
  end

  paths << File.join(ext_dir, require_paths.first) unless extensions.empty?
  paths
end
loaded_from() click to toggle source
# File lib/bundler/rubygems_ext.rb, line 27
def loaded_from
  relative_loaded_from ?
    source.path.join(relative_loaded_from).to_s :
    rg_loaded_from
end
Also aliased as: rg_loaded_from
nondevelopment_dependencies() click to toggle source
# File lib/bundler/rubygems_ext.rb, line 73
def nondevelopment_dependencies
  dependencies - development_dependencies
end
required_by() click to toggle source
# File lib/bundler/resolver.rb, line 11
def required_by
  @required_by ||= []
end
rg_full_gem_path()
Alias for: full_gem_path
rg_loaded_from()
Alias for: loaded_from
to_gemfile(path = nil) click to toggle source
# File lib/bundler/rubygems_ext.rb, line 63
def to_gemfile(path = nil)
  gemfile = "source :gemcutter\n"
  gemfile << dependencies_to_gemfile(nondevelopment_dependencies)
  unless development_dependencies.empty?
    gemfile << "\n"
    gemfile << dependencies_to_gemfile(development_dependencies, :development)
  end
  gemfile
end

Private Instance Methods

dependencies_to_gemfile(dependencies, group = nil) click to toggle source
# File lib/bundler/rubygems_ext.rb, line 79
def dependencies_to_gemfile(dependencies, group = nil)
  gemfile = ''
  if dependencies.any?
    gemfile << "group :#{group} do\n" if group
    dependencies.each do |dependency|
      gemfile << '  ' if group
      gemfile << %Qgem "#{dependency.name}"|
      req = dependency.requirements_list.first
      gemfile << %Q, "#{req}"| if req
      gemfile << "\n"
    end
    gemfile << "end\n" if group
  end
  gemfile
end