X7ROOT File Manager
Current Path:
/opt/alt/ruby31/share/rubygems/rubygems
opt
/
alt
/
ruby31
/
share
/
rubygems
/
rubygems
/
??
..
??
available_set.rb
(3.01 KB)
??
basic_specification.rb
(7.65 KB)
??
bundler_version_finder.rb
(1.98 KB)
??
command.rb
(15.82 KB)
??
command_manager.rb
(5.24 KB)
??
commands
??
compatibility.rb
(1 KB)
??
config_file.rb
(13.23 KB)
??
core_ext
??
defaults
??
defaults.rb
(6.58 KB)
??
dependency.rb
(8.59 KB)
??
dependency_installer.rb
(10.22 KB)
??
dependency_list.rb
(5.54 KB)
??
deprecate.rb
(4.87 KB)
??
doctor.rb
(3.13 KB)
??
errors.rb
(4.52 KB)
??
exceptions.rb
(7.13 KB)
??
ext
??
ext.rb
(497 B)
??
gem_runner.rb
(1.79 KB)
??
gemcutter_utilities.rb
(8.88 KB)
??
indexer.rb
(10.89 KB)
??
install_default_message.rb
(348 B)
??
install_message.rb
(322 B)
??
install_update_options.rb
(6.35 KB)
??
installer.rb
(26.76 KB)
??
installer_uninstaller_utils.rb
(773 B)
??
local_remote_options.rb
(3.56 KB)
??
mock_gem_ui.rb
(1.38 KB)
??
name_tuple.rb
(2.39 KB)
??
openssl.rb
(125 B)
??
optparse
??
optparse.rb
(72 B)
??
package
??
package.rb
(17.72 KB)
??
package_task.rb
(3.79 KB)
??
path_support.rb
(1.78 KB)
??
platform.rb
(7.61 KB)
??
psych_tree.rb
(794 B)
??
query_utils.rb
(8.5 KB)
??
rdoc.rb
(231 B)
??
remote_fetcher.rb
(9.2 KB)
??
request
??
request.rb
(8.6 KB)
??
request_set
??
request_set.rb
(11.3 KB)
??
requirement.rb
(6.91 KB)
??
resolver
??
resolver.rb
(9.64 KB)
??
s3_uri_signer.rb
(5.91 KB)
??
safe_yaml.rb
(1.51 KB)
??
security
??
security.rb
(22.39 KB)
??
security_option.rb
(1.06 KB)
??
source
??
source.rb
(5.58 KB)
??
source_list.rb
(2.41 KB)
??
spec_fetcher.rb
(6.36 KB)
??
specification.rb
(70.8 KB)
??
specification_policy.rb
(12.87 KB)
??
ssl_certs
??
stub_specification.rb
(4.48 KB)
??
text.rb
(1.98 KB)
??
tsort
??
tsort.rb
(66 B)
??
uninstaller.rb
(10.2 KB)
??
unknown_command_spell_checker.rb
(411 B)
??
uri.rb
(2.33 KB)
??
uri_formatter.rb
(781 B)
??
user_interaction.rb
(13.01 KB)
??
util
??
util.rb
(2.5 KB)
??
validator.rb
(3.65 KB)
??
version.rb
(12.57 KB)
??
version_option.rb
(2.21 KB)
Editing: stub_specification.rb
# frozen_string_literal: true ## # Gem::StubSpecification reads the stub: line from the gemspec. This prevents # us having to eval the entire gemspec in order to find out certain # information. class Gem::StubSpecification < Gem::BasicSpecification # :nodoc: PREFIX = "# stub: ".freeze # :nodoc: OPEN_MODE = "r:UTF-8:-".freeze class StubLine # :nodoc: all attr_reader :name, :version, :platform, :require_paths, :extensions, :full_name NO_EXTENSIONS = [].freeze # These are common require paths. REQUIRE_PATHS = { # :nodoc: "lib" => "lib".freeze, "test" => "test".freeze, "ext" => "ext".freeze, }.freeze # These are common require path lists. This hash is used to optimize # and consolidate require_path objects. Most specs just specify "lib" # in their require paths, so lets take advantage of that by pre-allocating # a require path list for that case. REQUIRE_PATH_LIST = { # :nodoc: "lib" => ["lib"].freeze, }.freeze def initialize(data, extensions) parts = data[PREFIX.length..-1].split(" ".freeze, 4) @name = parts[0].freeze @version = if Gem::Version.correct?(parts[1]) Gem::Version.new(parts[1]) else Gem::Version.new(0) end @platform = Gem::Platform.new parts[2] @extensions = extensions @full_name = if platform == Gem::Platform::RUBY "#{name}-#{version}" else "#{name}-#{version}-#{platform}" end path_list = parts.last @require_paths = REQUIRE_PATH_LIST[path_list] || path_list.split("\0".freeze).map! do |x| REQUIRE_PATHS[x] || x end end end def self.default_gemspec_stub(filename, base_dir, gems_dir) new filename, base_dir, gems_dir, true end def self.gemspec_stub(filename, base_dir, gems_dir) new filename, base_dir, gems_dir, false end attr_reader :base_dir, :gems_dir def initialize(filename, base_dir, gems_dir, default_gem) super() filename.tap(&Gem::UNTAINT) self.loaded_from = filename @data = nil @name = nil @spec = nil @base_dir = base_dir @gems_dir = gems_dir @default_gem = default_gem end ## # True when this gem has been activated def activated? @activated ||= begin loaded = Gem.loaded_specs[name] loaded && loaded.version == version end end def default_gem? @default_gem end def build_extensions # :nodoc: return if default_gem? return if extensions.empty? to_spec.build_extensions end ## # If the gemspec contains a stubline, returns a StubLine instance. Otherwise # returns the full Gem::Specification. def data unless @data begin saved_lineno = $. Gem.open_file loaded_from, OPEN_MODE do |file| begin file.readline # discard encoding line stubline = file.readline.chomp if stubline.start_with?(PREFIX) extensions = if /\A#{PREFIX}/ =~ file.readline.chomp $'.split "\0" else StubLine::NO_EXTENSIONS end @data = StubLine.new stubline, extensions end rescue EOFError end end ensure $. = saved_lineno end end @data ||= to_spec end private :data def raw_require_paths # :nodoc: data.require_paths end def missing_extensions? return false if default_gem? return false if extensions.empty? return false if File.exist? gem_build_complete_path to_spec.missing_extensions? end ## # Name of the gem def name data.name end ## # Platform of the gem def platform data.platform end ## # Extensions for this gem def extensions data.extensions end ## # Version of the gem def version data.version end def full_name data.full_name end ## # The full Gem::Specification for this gem, loaded from evalling its gemspec def to_spec @spec ||= if @data loaded = Gem.loaded_specs[name] loaded if loaded && loaded.version == version end @spec ||= Gem::Specification.load(loaded_from) end ## # Is this StubSpecification valid? i.e. have we found a stub line, OR does # the filename contain a valid gemspec? def valid? data end ## # Is there a stub line present for this StubSpecification? def stubbed? data.is_a? StubLine end end
Upload File
Create Folder