OXIESEC PANEL
- Current Dir:
/
/
usr
/
lib
/
ruby
/
2.5.0
/
rubygems
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
05/09/2024 07:14:11 AM
rwxr-xr-x
📄
available_set.rb
3.02 KB
02/01/2016 12:43:26 PM
rw-r--r--
📄
basic_specification.rb
7.36 KB
10/20/2017 09:03:37 AM
rw-r--r--
📄
bundler_version_finder.rb
3.09 KB
10/08/2017 01:32:22 AM
rw-r--r--
📄
command.rb
13.98 KB
12/25/2017 05:54:27 AM
rw-r--r--
📄
command_manager.rb
4.77 KB
05/15/2023 11:41:43 AM
rw-r--r--
📁
commands
-
05/09/2024 07:14:11 AM
rwxr-xr-x
📄
compatibility.rb
1.66 KB
02/01/2016 12:43:26 PM
rw-r--r--
📄
config_file.rb
12.51 KB
03/19/2018 08:27:04 AM
rw-r--r--
📁
core_ext
-
05/09/2024 07:14:11 AM
rwxr-xr-x
📄
defaults.rb
4.46 KB
06/24/2016 04:13:11 AM
rw-r--r--
📄
dependency.rb
8.38 KB
10/08/2017 01:32:18 AM
rw-r--r--
📄
dependency_installer.rb
14.17 KB
10/08/2017 01:32:18 AM
rw-r--r--
📄
dependency_list.rb
5.55 KB
05/01/2017 11:40:46 AM
rw-r--r--
📄
deprecate.rb
1.73 KB
02/01/2016 12:43:26 PM
rw-r--r--
📄
doctor.rb
3.06 KB
02/01/2016 12:43:26 PM
rw-r--r--
📄
errors.rb
4.62 KB
10/08/2017 01:32:18 AM
rw-r--r--
📄
exceptions.rb
6.39 KB
10/08/2017 01:32:18 AM
rw-r--r--
📁
ext
-
05/09/2024 07:14:11 AM
rwxr-xr-x
📄
ext.rb
461 bytes
02/01/2016 12:43:26 PM
rw-r--r--
📄
gem_runner.rb
2.18 KB
10/08/2017 01:32:18 AM
rw-r--r--
📄
gemcutter_utilities.rb
4.37 KB
05/15/2023 11:41:43 AM
rw-r--r--
📄
indexer.rb
11.06 KB
03/19/2018 08:27:04 AM
rw-r--r--
📄
install_default_message.rb
337 bytes
02/01/2016 12:43:26 PM
rw-r--r--
📄
install_message.rb
311 bytes
02/01/2016 12:43:26 PM
rw-r--r--
📄
install_update_options.rb
6.89 KB
10/08/2017 01:32:18 AM
rw-r--r--
📄
installer.rb
25.11 KB
05/15/2023 11:41:43 AM
rw-r--r--
📄
installer_test_case.rb
4.41 KB
10/08/2017 01:32:18 AM
rw-r--r--
📄
local_remote_options.rb
3.4 KB
02/01/2016 12:43:26 PM
rw-r--r--
📄
mock_gem_ui.rb
1.38 KB
02/01/2016 12:43:26 PM
rw-r--r--
📄
name_tuple.rb
2.41 KB
02/01/2016 12:43:26 PM
rw-r--r--
📁
package
-
05/09/2024 07:14:11 AM
rwxr-xr-x
📄
package.rb
16.47 KB
05/15/2023 11:41:43 AM
rw-r--r--
📄
package_task.rb
3.8 KB
02/01/2016 12:43:26 PM
rw-r--r--
📄
path_support.rb
1.72 KB
03/04/2016 12:29:40 AM
rw-r--r--
📄
platform.rb
6.25 KB
05/01/2017 11:40:46 AM
rw-r--r--
📄
psych_additions.rb
300 bytes
02/01/2016 12:43:26 PM
rw-r--r--
📄
psych_tree.rb
793 bytes
02/01/2016 12:43:26 PM
rw-r--r--
📄
rdoc.rb
7.74 KB
02/01/2016 12:43:26 PM
rw-r--r--
📄
remote_fetcher.rb
11.65 KB
08/28/2017 08:31:28 AM
rw-r--r--
📁
request
-
05/09/2024 07:14:11 AM
rwxr-xr-x
📄
request.rb
8.66 KB
10/08/2017 01:32:18 AM
rw-r--r--
📁
request_set
-
05/09/2024 07:14:11 AM
rwxr-xr-x
📄
request_set.rb
10.77 KB
10/08/2017 01:32:18 AM
rw-r--r--
📄
requirement.rb
6.59 KB
10/08/2017 01:32:18 AM
rw-r--r--
📁
resolver
-
05/09/2024 07:14:11 AM
rwxr-xr-x
📄
resolver.rb
9.53 KB
10/08/2017 01:32:18 AM
rw-r--r--
📄
safe_yaml.rb
1.15 KB
11/02/2017 04:25:37 AM
rw-r--r--
📁
security
-
05/09/2024 07:14:11 AM
rwxr-xr-x
📄
security.rb
21.13 KB
03/19/2018 08:27:04 AM
rw-r--r--
📄
security_option.rb
1.06 KB
10/08/2017 01:32:22 AM
rw-r--r--
📄
server.rb
22.72 KB
03/19/2018 08:27:04 AM
rw-r--r--
📁
source
-
05/09/2024 07:14:11 AM
rwxr-xr-x
📄
source.rb
5.42 KB
03/19/2018 08:27:04 AM
rw-r--r--
📄
source_list.rb
2.53 KB
03/04/2016 12:29:40 AM
rw-r--r--
📄
source_local.rb
275 bytes
10/08/2017 01:32:18 AM
rw-r--r--
📄
source_specific_file.rb
272 bytes
10/08/2017 01:32:18 AM
rw-r--r--
📄
spec_fetcher.rb
6.47 KB
10/08/2017 01:32:18 AM
rw-r--r--
📄
specification.rb
82.65 KB
05/15/2023 11:41:43 AM
rw-r--r--
📁
ssl_certs
-
11/26/2019 12:32:04 PM
rwxr-xr-x
📄
stub_specification.rb
4.86 KB
03/19/2018 08:27:04 AM
rw-r--r--
📄
syck_hack.rb
2.12 KB
02/01/2016 12:43:26 PM
rw-r--r--
📄
test_case.rb
40.33 KB
03/19/2018 08:27:04 AM
rw-r--r--
📄
test_utilities.rb
8.63 KB
03/19/2018 08:27:04 AM
rw-r--r--
📄
text.rb
1.88 KB
08/28/2017 08:31:28 AM
rw-r--r--
📄
uninstaller.rb
8.74 KB
02/01/2016 12:43:26 PM
rw-r--r--
📄
uri_formatter.rb
792 bytes
02/01/2016 12:43:26 PM
rw-r--r--
📄
user_interaction.rb
14.54 KB
05/15/2023 11:41:43 AM
rw-r--r--
📁
util
-
05/09/2024 07:14:11 AM
rwxr-xr-x
📄
util.rb
2.57 KB
03/19/2018 08:27:04 AM
rw-r--r--
📄
validator.rb
4.23 KB
03/19/2018 08:27:04 AM
rw-r--r--
📄
version.rb
11.97 KB
10/08/2017 01:32:18 AM
rw-r--r--
📄
version_option.rb
2.03 KB
10/08/2017 01:32:18 AM
rw-r--r--
Editing: basic_specification.rb
Close
# frozen_string_literal: true ## # BasicSpecification is an abstract class which implements some common code # used by both Specification and StubSpecification. class Gem::BasicSpecification ## # Allows installation of extensions for git: gems. attr_writer :base_dir # :nodoc: ## # Sets the directory where extensions for this gem will be installed. attr_writer :extension_dir # :nodoc: ## # Is this specification ignored for activation purposes? attr_writer :ignored # :nodoc: ## # The path this gemspec was loaded from. This attribute is not persisted. attr_accessor :loaded_from ## # Allows correct activation of git: and path: gems. attr_writer :full_gem_path # :nodoc: def initialize internal_init end def self.default_specifications_dir File.join(Gem.default_dir, "specifications", "default") end ## # The path to the gem.build_complete file within the extension install # directory. def gem_build_complete_path # :nodoc: File.join extension_dir, 'gem.build_complete' end ## # True when the gem has been activated def activated? raise NotImplementedError end ## # Returns the full path to the base gem directory. # # eg: /usr/local/lib/ruby/gems/1.8 def base_dir raise NotImplementedError end ## # Return true if this spec can require +file+. def contains_requirable_file? file if @ignored then return false elsif missing_extensions? then @ignored = true warn "Ignoring #{full_name} because its extensions are not built. " + "Try: gem pristine #{name} --version #{version}" return false end have_file? file, Gem.suffixes end def default_gem? loaded_from && File.dirname(loaded_from) == self.class.default_specifications_dir end ## # Returns full path to the directory where gem's extensions are installed. def extension_dir @extension_dir ||= File.expand_path(File.join(extensions_dir, full_name)).untaint end ## # Returns path to the extensions directory. def extensions_dir Gem.default_ext_dir_for(base_dir) || File.join(base_dir, 'extensions', Gem::Platform.local.to_s, Gem.extension_api_version) end def find_full_gem_path # :nodoc: # TODO: also, shouldn't it default to full_name if it hasn't been written? path = File.expand_path File.join(gems_dir, full_name) path.untaint path end private :find_full_gem_path ## # The full path to the gem (install path + full name). def full_gem_path # TODO: This is a heavily used method by gems, so we'll need # to aleast just alias it to #gem_dir rather than remove it. @full_gem_path ||= find_full_gem_path end ## # Returns the full name (name-version) of this Gem. Platform information # is included (name-version-platform) if it is specified and not the # default Ruby platform. def full_name if platform == Gem::Platform::RUBY or platform.nil? then "#{name}-#{version}".dup.untaint else "#{name}-#{version}-#{platform}".dup.untaint end end ## # Full paths in the gem to add to <code>$LOAD_PATH</code> when this gem is # activated. def full_require_paths @full_require_paths ||= begin full_paths = raw_require_paths.map do |path| File.join full_gem_path, path.untaint end full_paths << extension_dir if have_extensions? full_paths end end ## # The path to the data directory for this gem. def datadir # TODO: drop the extra ", gem_name" which is uselessly redundant File.expand_path(File.join(gems_dir, full_name, "data", name)).untaint end ## # Full path of the target library file. # If the file is not in this gem, return nil. def to_fullpath path if activated? then @paths_map ||= {} @paths_map[path] ||= begin fullpath = nil suffixes = Gem.suffixes suffixes.find do |suf| full_require_paths.find do |dir| File.file?(fullpath = "#{dir}/#{path}#{suf}") end end ? fullpath : nil end else nil end end ## # Returns the full path to this spec's gem directory. # eg: /usr/local/lib/ruby/1.8/gems/mygem-1.0 def gem_dir @gem_dir ||= File.expand_path File.join(gems_dir, full_name) end ## # Returns the full path to the gems directory containing this spec's # gem directory. eg: /usr/local/lib/ruby/1.8/gems def gems_dir raise NotImplementedError end def internal_init # :nodoc: @extension_dir = nil @full_gem_path = nil @gem_dir = nil @ignored = nil end ## # Name of the gem def name raise NotImplementedError end ## # Platform of the gem def platform raise NotImplementedError end def raw_require_paths # :nodoc: raise NotImplementedError end ## # Paths in the gem to add to <code>$LOAD_PATH</code> when this gem is # activated. # # See also #require_paths= # # If you have an extension you do not need to add <code>"ext"</code> to the # require path, the extension build process will copy the extension files # into "lib" for you. # # The default value is <code>"lib"</code> # # Usage: # # # If all library files are in the root directory... # spec.require_path = '.' def require_paths return raw_require_paths unless have_extensions? [extension_dir].concat raw_require_paths end ## # Returns the paths to the source files for use with analysis and # documentation tools. These paths are relative to full_gem_path. def source_paths paths = raw_require_paths.dup if have_extensions? then ext_dirs = extensions.map do |extension| extension.split(File::SEPARATOR, 2).first end.uniq paths.concat ext_dirs end paths.uniq end ## # Return all files in this gem that match for +glob+. def matches_for_glob glob # TODO: rename? # TODO: do we need these?? Kill it glob = File.join(self.lib_dirs_glob, glob) Dir[glob].map { |f| f.untaint } # FIX our tests are broken, run w/ SAFE=1 end ## # Returns a string usable in Dir.glob to match all requirable paths # for this spec. def lib_dirs_glob dirs = if self.raw_require_paths if self.raw_require_paths.size > 1 then "{#{self.raw_require_paths.join(',')}}" else self.raw_require_paths.first end else "lib" # default value for require_paths for bundler/inline end "#{self.full_gem_path}/#{dirs}".dup.untaint end ## # Return a Gem::Specification from this gem def to_spec raise NotImplementedError end ## # Version of the gem def version raise NotImplementedError end ## # Whether this specification is stubbed - i.e. we have information # about the gem from a stub line, without having to evaluate the # entire gemspec file. def stubbed? raise NotImplementedError end def this; self; end private def have_extensions?; !extensions.empty?; end def have_file? file, suffixes return true if raw_require_paths.any? do |path| base = File.join(gems_dir, full_name, path.untaint, file).untaint suffixes.any? { |suf| File.file? base + suf } end if have_extensions? base = File.join extension_dir, file suffixes.any? { |suf| File.file? base + suf } else false end end end