class Gem::Specification
def dependencies_to_gemfile(dependencies, group = nil)
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 << %|gem "#{dependency.name}"| req = dependency.requirements_list.first gemfile << %|, "#{req}"| if req gemfile << "\n" end gemfile << "end\n" if group end gemfile end
def full_gem_path
def full_gem_path source.respond_to?(:path) ? Pathname.new(loaded_from).dirname.expand_path(Bundler.root).to_s : rg_full_gem_path end
def gem_dir
def gem_dir full_gem_path end
def git_version
def git_version if @loaded_from && File.exist?(File.join(full_gem_path, ".git")) sha = Dir.chdir(full_gem_path){ `git rev-parse HEAD`.strip } " #{sha[0..6]}" end end
def groups
def groups @groups ||= [] end
def load_paths
def load_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 end
def loaded_from
def loaded_from relative_loaded_from ? source.path.join(relative_loaded_from).to_s : rg_loaded_from end
def nondevelopment_dependencies
def nondevelopment_dependencies dependencies - development_dependencies end
def required_by
def required_by @required_by ||= [] end
def to_gemfile(path = nil)
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