X7ROOT File Manager
Current Path:
/opt/alt/ruby18/lib64/ruby/site_ruby/1.8/rubygems
opt
/
alt
/
ruby18
/
lib64
/
ruby
/
site_ruby
/
1.8
/
rubygems
/
ðŸ“
..
📄
builder.rb
(2.21 KB)
📄
command.rb
(12.46 KB)
📄
command_manager.rb
(4.67 KB)
ðŸ“
commands
📄
config_file.rb
(9.69 KB)
📄
custom_require.rb
(1.83 KB)
📄
defaults.rb
(2.65 KB)
📄
dependency.rb
(6.43 KB)
📄
dependency_installer.rb
(9.94 KB)
📄
dependency_list.rb
(5.58 KB)
📄
deprecate.rb
(1.81 KB)
📄
doc_manager.rb
(5.55 KB)
📄
errors.rb
(793 B)
📄
exceptions.rb
(2.34 KB)
ðŸ“
ext
📄
ext.rb
(379 B)
📄
format.rb
(1.96 KB)
📄
gem_openssl.rb
(2.24 KB)
📄
gem_path_searcher.rb
(4.57 KB)
📄
gem_runner.rb
(2.38 KB)
📄
gemcutter_utilities.rb
(1.86 KB)
📄
indexer.rb
(16.93 KB)
📄
install_update_options.rb
(3.87 KB)
📄
installer.rb
(17.02 KB)
📄
installer_test_case.rb
(3.1 KB)
📄
local_remote_options.rb
(3.36 KB)
📄
mock_gem_ui.rb
(1.05 KB)
📄
old_format.rb
(3.69 KB)
ðŸ“
package
📄
package.rb
(2.15 KB)
📄
package_task.rb
(3.79 KB)
📄
path_support.rb
(1.5 KB)
📄
platform.rb
(5.55 KB)
📄
psych_additions.rb
(249 B)
📄
psych_tree.rb
(687 B)
📄
remote_fetcher.rb
(13.78 KB)
📄
require_paths_builder.rb
(577 B)
📄
requirement.rb
(5.01 KB)
📄
security.rb
(28.83 KB)
📄
server.rb
(21.93 KB)
📄
source_index.rb
(11 KB)
📄
spec_fetcher.rb
(7.17 KB)
📄
specification.rb
(54.83 KB)
ðŸ“
ssl_certs
📄
syck_hack.rb
(2.02 KB)
📄
test_case.rb
(23.22 KB)
📄
test_utilities.rb
(3.47 KB)
📄
text.rb
(1.23 KB)
📄
uninstaller.rb
(6.77 KB)
📄
user_interaction.rb
(11.22 KB)
📄
validator.rb
(4.65 KB)
📄
version.rb
(10.19 KB)
📄
version_option.rb
(1.59 KB)
Editing: old_format.rb
#-- # Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others. # All rights reserved. # See LICENSE.txt for permissions. #++ require 'rubygems' ## # The format class knows the guts of the RubyGem .gem file format and provides # the capability to read gem files class Gem::OldFormat attr_accessor :spec, :file_entries, :gem_path ## # Constructs an instance of a Format object, representing the gem's data # structure. # # gem:: [String] The file name of the gem def initialize(gem_path) require 'fileutils' require 'zlib' Gem.load_yaml @gem_path = gem_path end ## # Reads the named gem file and returns a Format object, representing the # data from the gem file # # file_path:: [String] Path to the gem file def self.from_file_by_path(file_path) unless File.exist?(file_path) raise Gem::Exception, "Cannot load gem file [#{file_path}]" end File.open(file_path, 'rb') do |file| from_io(file, file_path) end end ## # Reads a gem from an io stream and returns a Format object, representing # the data from the gem file # # io:: [IO] Stream from which to read the gem def self.from_io(io, gem_path="(io)") format = self.new(gem_path) skip_ruby(io) format.spec = read_spec(io) format.file_entries = [] read_files_from_gem(io) do |entry, file_data| format.file_entries << [entry, file_data] end format end private ## # Skips the Ruby self-install header. After calling this method, the # IO index will be set after the Ruby code. # # file:: [IO] The IO to process (skip the Ruby code) def self.skip_ruby(file) end_seen = false loop { line = file.gets if(line == nil || line.chomp == "__END__") then end_seen = true break end } if end_seen == false then raise Gem::Exception.new("Failed to find end of ruby script while reading gem") end end ## # Reads the specification YAML from the supplied IO and constructs # a Gem::Specification from it. After calling this method, the # IO index will be set after the specification header. # # file:: [IO] The IO to process def self.read_spec(file) yaml = '' read_until_dashes file do |line| yaml << line end Gem::Specification.from_yaml yaml rescue YAML::Error => e raise Gem::Exception, "Failed to parse gem specification out of gem file" rescue ArgumentError => e raise Gem::Exception, "Failed to parse gem specification out of gem file" end ## # Reads lines from the supplied IO until a end-of-yaml (---) is # reached # # file:: [IO] The IO to process # block:: [String] The read line def self.read_until_dashes(file) while((line = file.gets) && line.chomp.strip != "---") do yield line end end ## # Reads the embedded file data from a gem file, yielding an entry # containing metadata about the file and the file contents themselves # for each file that's archived in the gem. # NOTE: Many of these methods should be extracted into some kind of # Gem file read/writer # # gem_file:: [IO] The IO to process def self.read_files_from_gem(gem_file) errstr = "Error reading files from gem" header_yaml = '' begin self.read_until_dashes(gem_file) do |line| header_yaml << line end header = YAML.load(header_yaml) raise Gem::Exception, errstr unless header header.each do |entry| file_data = '' self.read_until_dashes(gem_file) do |line| file_data << line end yield [entry, Zlib::Inflate.inflate(file_data.strip.unpack("m")[0])] end rescue Zlib::DataError raise Gem::Exception, errstr end end end
Upload File
Create Folder