Class: Gem::Specification
Defined Under Namespace
Modules: AllowSettingSource, RequirePathFlattener
Constant Summary
collapse
- LATEST_RUBY_WITHOUT_PATCH_VERSIONS =
Gem::Version.new("2.1")
- @@array_attributes =
rubocop:disable Style/ClassVars
correct_array_attributes
Bundler::GemHelpers::GENERICS, Bundler::GemHelpers::GENERIC_CACHE
Instance Attribute Summary collapse
#source
Instance Method Summary
collapse
from_yaml
#match_platform, platforms_match?
generic, generic_local_platform, generic_local_platform_is_ruby?, local_platform, platform_specificity_match, same_deps, same_specificity, select_all_platform_match, select_best_local_platform_match, select_best_platform_match, sort_and_filter_best_platform_match, sort_best_platform_match
#expanded_dependencies, #matches_current_metadata?, #matches_current_ruby?, #matches_current_rubygems?, #metadata_dependency
Instance Attribute Details
#relative_loaded_from ⇒ Object
Returns the value of attribute relative_loaded_from.
163
164
165
|
# File 'lib/bundler/rubygems_ext.rb', line 163
def relative_loaded_from
@relative_loaded_from
end
|
#remote ⇒ Object
Returns the value of attribute remote.
163
164
165
|
# File 'lib/bundler/rubygems_ext.rb', line 163
def remote
@remote
end
|
Instance Method Details
#extension_dir ⇒ Object
199
200
201
202
203
204
205
206
207
208
|
# File 'lib/bundler/rubygems_ext.rb', line 199
def extension_dir
@bundler_extension_dir ||= if source.respond_to?(:extension_dir_name) unique_extension_dir = [source.extension_dir_name, File.basename(full_gem_path)].uniq.join("-")
File.expand_path(File.join(extensions_dir, unique_extension_dir))
else
rg_extension_dir
end
end
|
#flatten_require_paths ⇒ Object
272
273
274
275
276
277
|
# File 'lib/bundler/rubygems_ext.rb', line 272
def flatten_require_paths
return unless raw_require_paths.first.is_a?(Array)
warn "#{name} #{version} includes a gemspec with `require_paths` set to an array of arrays. Newer versions of this gem might've already fixed this"
raw_require_paths.flatten!
end
|
#full_gem_path ⇒ Object
178
179
180
181
182
183
184
|
# File 'lib/bundler/rubygems_ext.rb', line 178
def full_gem_path
if source.respond_to?(:root)
File.expand_path(File.dirname(loaded_from), source.root)
else
rg_full_gem_path
end
end
|
#gem_dir ⇒ Object
213
214
215
|
# File 'lib/bundler/rubygems_ext.rb', line 213
def gem_dir
full_gem_path
end
|
#git_version ⇒ Object
242
243
244
245
|
# File 'lib/bundler/rubygems_ext.rb', line 242
def git_version
return unless loaded_from && source.is_a?(Bundler::Source::Git)
" #{source.revision[0..6]}"
end
|
#groups ⇒ Object
238
239
240
|
# File 'lib/bundler/rubygems_ext.rb', line 238
def groups
@groups ||= []
end
|
#insecurely_materialized? ⇒ Boolean
234
235
236
|
# File 'lib/bundler/rubygems_ext.rb', line 234
def insecurely_materialized?
false
end
|
#installation_missing? ⇒ Boolean
261
262
263
|
# File 'lib/bundler/rubygems_ext.rb', line 261
def installation_missing?
!default_gem? && !File.directory?(full_gem_path)
end
|
#load_paths ⇒ Object
194
195
196
|
# File 'lib/bundler/rubygems_ext.rb', line 194
def load_paths
full_require_paths
end
|
#loaded_from ⇒ Object
186
187
188
189
190
191
192
|
# File 'lib/bundler/rubygems_ext.rb', line 186
def loaded_from
if relative_loaded_from
source.path.join(relative_loaded_from).to_s
else
rg_loaded_from
end
end
|
#nondevelopment_dependencies ⇒ Object
257
258
259
|
# File 'lib/bundler/rubygems_ext.rb', line 257
def nondevelopment_dependencies
dependencies - development_dependencies
end
|
#required_ruby_version=(req) ⇒ Object
221
222
223
224
225
226
227
228
229
230
231
|
# File 'lib/bundler/rubygems_ext.rb', line 221
def required_ruby_version=(req)
self.rg_required_ruby_version = req
@required_ruby_version.requirements.map! do |op, v|
if v >= LATEST_RUBY_WITHOUT_PATCH_VERSIONS && v.release.segments.size == 4
[op == "~>" ? "=" : op, Gem::Version.new(v.segments.tap {|s| s.delete_at(3) }.join("."))]
else
[op, v]
end
end
end
|
#rg_extension_dir ⇒ Object
198
|
# File 'lib/bundler/rubygems_ext.rb', line 198
alias_method :rg_extension_dir, :extension_dir
|
#rg_full_gem_path ⇒ Object
175
|
# File 'lib/bundler/rubygems_ext.rb', line 175
alias_method :rg_full_gem_path, :full_gem_path
|
#rg_loaded_from ⇒ Object
176
|
# File 'lib/bundler/rubygems_ext.rb', line 176
alias_method :rg_loaded_from, :loaded_from
|
#rg_required_ruby_version= ⇒ Object
220
|
# File 'lib/bundler/rubygems_ext.rb', line 220
alias_method :rg_required_ruby_version=, :required_ruby_version=
|
#to_gemfile(path = nil) ⇒ Object
247
248
249
250
251
252
253
254
255
|
# File 'lib/bundler/rubygems_ext.rb', line 247
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
|
#validate_for_resolution ⇒ Object