Class: Gem::Specification
- Inherits:
-
Object
- Object
- Gem::Specification
show all
- Includes:
- Bundler::MatchPlatform
- Defined in:
- lib/bundler/rubygems_ext.rb,
lib/bundler/rubygems_ext.rb
Constant Summary
Bundler::GemHelpers::GENERICS, Bundler::GemHelpers::GENERIC_CACHE
Instance Attribute Summary collapse
Instance Method Summary
collapse
#match_platform, platforms_match?
generic, generic_local_platform, platform_specificity_match, select_best_platform_match
Instance Attribute Details
#full_gem_path ⇒ Object
45
46
47
48
49
50
51
52
53
54
55
|
# File 'lib/bundler/rubygems_ext.rb', line 45
def full_gem_path
if source.respond_to?(:path) || (source.respond_to?(:bundler_plugin_api_source?) && source.bundler_plugin_api_source?)
Pathname.new(loaded_from).dirname.expand_path(source.root).to_s.untaint
else
rg_full_gem_path
end
end
|
#location ⇒ Object
Returns the value of attribute location.
28
29
30
|
# File 'lib/bundler/rubygems_ext.rb', line 28
def location
@location
end
|
#relative_loaded_from ⇒ Object
Returns the value of attribute relative_loaded_from.
28
29
30
|
# File 'lib/bundler/rubygems_ext.rb', line 28
def relative_loaded_from
@relative_loaded_from
end
|
#remote ⇒ Object
Returns the value of attribute remote.
28
29
30
|
# File 'lib/bundler/rubygems_ext.rb', line 28
def remote
@remote
end
|
#source ⇒ Object
Returns the value of attribute source.
33
34
35
|
# File 'lib/bundler/rubygems_ext.rb', line 33
def source
(defined?(@source) && @source) || Gem::Source::Installed.new
end
|
Instance Method Details
#extension_dir ⇒ Object
79
80
81
82
83
84
85
|
# File 'lib/bundler/rubygems_ext.rb', line 79
def extension_dir
@bundler_extension_dir ||= if source.respond_to?(:extension_dir_name)
File.expand_path(File.join(extensions_dir, source.extension_dir_name))
else
rg_extension_dir
end
end
|
#gem_dir ⇒ Object
92
93
94
|
# File 'lib/bundler/rubygems_ext.rb', line 92
def gem_dir
full_gem_path
end
|
#git_version ⇒ Object
100
101
102
103
|
# File 'lib/bundler/rubygems_ext.rb', line 100
def git_version
return unless loaded_from && source.is_a?(Bundler::Source::Git)
" #{source.revision[0..6]}"
end
|
#groups ⇒ Object
96
97
98
|
# File 'lib/bundler/rubygems_ext.rb', line 96
def groups
@groups ||= []
end
|
#load_paths ⇒ Object
65
66
67
68
69
70
71
72
73
74
75
|
# File 'lib/bundler/rubygems_ext.rb', line 65
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 ⇒ Object
57
58
59
60
61
62
63
|
# File 'lib/bundler/rubygems_ext.rb', line 57
def loaded_from
if relative_loaded_from
source.path.join(relative_loaded_from).to_s
else
rg_loaded_from
end
end
|
#nondevelopment_dependencies ⇒ Object
115
116
117
|
# File 'lib/bundler/rubygems_ext.rb', line 115
def nondevelopment_dependencies
dependencies - development_dependencies
end
|
#rg_extension_dir ⇒ Object
78
|
# File 'lib/bundler/rubygems_ext.rb', line 78
alias_method :rg_extension_dir, :extension_dir
|
#rg_full_gem_path ⇒ Object
40
|
# File 'lib/bundler/rubygems_ext.rb', line 40
alias_method :rg_full_gem_path, :full_gem_path
|
#rg_loaded_from ⇒ Object
41
|
# File 'lib/bundler/rubygems_ext.rb', line 41
alias_method :rg_loaded_from, :loaded_from
|
#to_gemfile(path = nil) ⇒ Object
105
106
107
108
109
110
111
112
113
|
# File 'lib/bundler/rubygems_ext.rb', line 105
def to_gemfile(path = nil)
gemfile = String.new("source 'https://rubygems.org'\n")
gemfile << dependencies_to_gemfile(nondevelopment_dependencies)
unless development_dependencies.empty?
gemfile << "\n"
gemfile << dependencies_to_gemfile(development_dependencies, :development)
end
gemfile
end
|