class Gem::Specification - bundler-1.6.9 Documentation

# class Gem::Specification

### Attributes

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

### Public Instance Methods

extension_dir() click to toggle source

    # File lib/bundler/rubygems_ext.rb, line 50
    def extension_dir
      @extension_dir ||= source.respond_to?(:extension_dir_name) ?
        File.expand_path(File.join(extensions_dir, source.extension_dir_name)) :
        rg_extension_dir
    end

full_gem_path() click to toggle source

    # File lib/bundler/rubygems_ext.rb, line 24
    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 59
    def gem_dir
      full_gem_path
    end

git_version() click to toggle source

    # File lib/bundler/rubygems_ext.rb, line 67
    def git_version
      return unless loaded_from && source.is_a?(Bundler::Source::Git)
      " #{source.revision[0..6]}"
    end

groups() click to toggle source

    # File lib/bundler/rubygems_ext.rb, line 63
    def groups
      @groups ||= []
    end

load_paths() click to toggle source

    # File lib/bundler/rubygems_ext.rb, line 36
    def load_paths
      return full_require_paths if respond_to?(:full_require_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

loaded_from() click to toggle source

    # File lib/bundler/rubygems_ext.rb, line 30
    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 82
    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 72
    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 88
    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