Class: Gem::Specification

Inherits:
Object
  • Object
show all
Includes:
Bundler::MatchPlatform
Defined in:
lib/bundler/resolver.rb,
lib/bundler/rubygems_ext.rb,
lib/bundler/rubygems_ext.rb

Direct Known Subclasses

Bundler::EndpointSpecification

Constant Summary

Constant Summary

Constants included from Bundler::GemHelpers

Bundler::GemHelpers::GENERICS, Bundler::GemHelpers::GENERIC_CACHE

Instance Attribute Summary (collapse)

Instance Method Summary (collapse)

Methods included from Bundler::MatchPlatform

#match_platform

Methods included from Bundler::GemHelpers

#generic

Instance Attribute Details

- (Object) location

Returns the value of attribute location



16
17
18
# File 'lib/bundler/rubygems_ext.rb', line 16

def location
  @location
end

- (Object) relative_loaded_from

Returns the value of attribute relative_loaded_from



16
17
18
# File 'lib/bundler/rubygems_ext.rb', line 16

def relative_loaded_from
  @relative_loaded_from
end

- (Object) source

Returns the value of attribute source



19
20
21
# File 'lib/bundler/rubygems_ext.rb', line 19

def source
  @source
end

- (Object) source_uri

Returns the value of attribute source_uri



16
17
18
# File 'lib/bundler/rubygems_ext.rb', line 16

def source_uri
  @source_uri
end

Instance Method Details

- (Object) extension_dir



50
51
52
53
54
# 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

- (Object) full_gem_path



24
25
26
27
28
# 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

- (Object) gem_dir



61
62
63
# File 'lib/bundler/rubygems_ext.rb', line 61

def gem_dir
  full_gem_path
end

- (Object) git_version



69
70
71
72
# File 'lib/bundler/rubygems_ext.rb', line 69

def git_version
  return unless loaded_from && source.is_a?(Bundler::Source::Git)
  " #{source.revision[0..6]}"
end

- (Object) groups



65
66
67
# File 'lib/bundler/rubygems_ext.rb', line 65

def groups
  @groups ||= []
end

- (Object) load_paths



36
37
38
39
40
41
42
43
44
45
46
# 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

- (Object) loaded_from



30
31
32
33
34
# 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

- (Object) nondevelopment_dependencies



84
85
86
# File 'lib/bundler/rubygems_ext.rb', line 84

def nondevelopment_dependencies
  dependencies - development_dependencies
end

- (Object) required_by



11
12
13
# File 'lib/bundler/resolver.rb', line 11

def required_by
  @required_by ||= []
end

- (Object) rg_extension_dir



49
# File 'lib/bundler/rubygems_ext.rb', line 49

alias_method :rg_extension_dir, :extension_dir

- (Object) rg_full_gem_path



21
# File 'lib/bundler/rubygems_ext.rb', line 21

alias_method :rg_full_gem_path, :full_gem_path

- (Object) rg_loaded_from



22
# File 'lib/bundler/rubygems_ext.rb', line 22

alias_method :rg_loaded_from,   :loaded_from

- (Object) to_gemfile(path = nil)



74
75
76
77
78
79
80
81
82
# File 'lib/bundler/rubygems_ext.rb', line 74

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