GRAYBYTE WORDPRESS FILE MANAGER9120

Server IP : 198.54.121.189 / Your IP : 216.73.216.140
System : Linux premium69.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
PHP Version : 7.4.33
Disable Function : NONE
cURL : ON | WGET : ON | Sudo : OFF | Pkexec : OFF
Directory : /opt/alt/ruby20/lib64/ruby/2.0.0/
Upload Files :
Current_dir [ Not Writeable ] Document_root [ Writeable ]

Command :


Current File : /opt/alt/ruby20/lib64/ruby/2.0.0//pp.rb
require 'prettyprint'

module Kernel
  # returns a pretty printed object as a string.
  def pretty_inspect
    PP.pp(self, '')
  end

  private
  # prints arguments in pretty form.
  #
  # pp returns argument(s).
  def pp(*objs) # :doc:
    objs.each {|obj|
      PP.pp(obj)
    }
    objs.size <= 1 ? objs.first : objs
  end
  module_function :pp
end

# == Pretty-printer for Ruby objects.
#
# = Which seems better?
#
# non-pretty-printed output by #p is:
#   #<PP:0x81fedf0 @genspace=#<Proc:0x81feda0>, @group_queue=#<PrettyPrint::GroupQueue:0x81fed3c @queue=[[#<PrettyPrint::Group:0x81fed78 @breakables=[], @depth=0, @break=false>], []]>, @buffer=[], @newline="\n", @group_stack=[#<PrettyPrint::Group:0x81fed78 @breakables=[], @depth=0, @break=false>], @buffer_width=0, @indent=0, @maxwidth=79, @output_width=2, @output=#<IO:0x8114ee4>>
#
# pretty-printed output by #pp is:
#   #<PP:0x81fedf0
#    @buffer=[],
#    @buffer_width=0,
#    @genspace=#<Proc:0x81feda0>,
#    @group_queue=
#     #<PrettyPrint::GroupQueue:0x81fed3c
#      @queue=
#       [[#<PrettyPrint::Group:0x81fed78 @break=false, @breakables=[], @depth=0>],
#        []]>,
#    @group_stack=
#     [#<PrettyPrint::Group:0x81fed78 @break=false, @breakables=[], @depth=0>],
#    @indent=0,
#    @maxwidth=79,
#    @newline="\n",
#    @output=#<IO:0x8114ee4>,
#    @output_width=2>
#
# I like the latter.  If you do too, this library is for you.
#
# = Usage
#
#   pp(obj)             #=> obj
#   pp(obj1, obj2, ...) #=> [obj1, obj2, ...]
#   pp()                #=> nil
#
# output +obj(s)+ to +$>+ in pretty printed format.
#
# It returns +obj(s)+.
#
# = Output Customization
# To define your customized pretty printing function for your classes,
# redefine a method #pretty_print(+pp+) in the class.
# It takes an argument +pp+ which is an instance of the class PP.
# The method should use PP#text, PP#breakable, PP#nest, PP#group and
# PP#pp to print the object.
#
# = Author
# Tanaka Akira <akr@m17n.org>
class PP < PrettyPrint
  # Outputs +obj+ to +out+ in pretty printed format of
  # +width+ columns in width.
  #
  # If +out+ is omitted, +$>+ is assumed.
  # If +width+ is omitted, 79 is assumed.
  #
  # PP.pp returns +out+.
  def PP.pp(obj, out=$>, width=79)
    q = PP.new(out, width)
    q.guard_inspect_key {q.pp obj}
    q.flush
    #$pp = q
    out << "\n"
  end

  # Outputs +obj+ to +out+ like PP.pp but with no indent and
  # newline.
  #
  # PP.singleline_pp returns +out+.
  def PP.singleline_pp(obj, out=$>)
    q = SingleLine.new(out)
    q.guard_inspect_key {q.pp obj}
    q.flush
    out
  end

  # :stopdoc:
  def PP.mcall(obj, mod, meth, *args, &block)
    mod.instance_method(meth).bind(obj).call(*args, &block)
  end
  # :startdoc:

  @sharing_detection = false
  class << self
    # Returns the sharing detection flag as a boolean value.
    # It is false by default.
    attr_accessor :sharing_detection
  end

  module PPMethods
    def guard_inspect_key
      if Thread.current[:__recursive_key__] == nil
        Thread.current[:__recursive_key__] = {}.untrust
      end

      if Thread.current[:__recursive_key__][:inspect] == nil
        Thread.current[:__recursive_key__][:inspect] = {}.untrust
      end

      save = Thread.current[:__recursive_key__][:inspect]

      begin
        Thread.current[:__recursive_key__][:inspect] = {}.untrust
        yield
      ensure
        Thread.current[:__recursive_key__][:inspect] = save
      end
    end

    def check_inspect_key(id)
      Thread.current[:__recursive_key__] &&
      Thread.current[:__recursive_key__][:inspect] &&
      Thread.current[:__recursive_key__][:inspect].include?(id)
    end
    def push_inspect_key(id)
      Thread.current[:__recursive_key__][:inspect][id] = true
    end
    def pop_inspect_key(id)
      Thread.current[:__recursive_key__][:inspect].delete id
    end

    # Adds +obj+ to the pretty printing buffer
    # using Object#pretty_print or Object#pretty_print_cycle.
    #
    # Object#pretty_print_cycle is used when +obj+ is already
    # printed, a.k.a the object reference chain has a cycle.
    def pp(obj)
      id = obj.object_id

      if check_inspect_key(id)
        group {obj.pretty_print_cycle self}
        return
      end

      begin
        push_inspect_key(id)
        group {obj.pretty_print self}
      ensure
        pop_inspect_key(id) unless PP.sharing_detection
      end
    end

    # A convenience method which is same as follows:
    #
    #   group(1, '#<' + obj.class.name, '>') { ... }
    def object_group(obj, &block) # :yield:
      group(1, '#<' + obj.class.name, '>', &block)
    end

    PointerMask = (1 << ([""].pack("p").size * 8)) - 1

    case Object.new.inspect
    when /\A\#<Object:0x([0-9a-f]+)>\z/
      PointerFormat = "%0#{$1.length}x"
    else
      PointerFormat = "%x"
    end

    def object_address_group(obj, &block)
      id = PointerFormat % (obj.object_id * 2 & PointerMask)
      group(1, "\#<#{obj.class}:0x#{id}", '>', &block)
    end

    # A convenience method which is same as follows:
    #
    #   text ','
    #   breakable
    def comma_breakable
      text ','
      breakable
    end

    # Adds a separated list.
    # The list is separated by comma with breakable space, by default.
    #
    # #seplist iterates the +list+ using +iter_method+.
    # It yields each object to the block given for #seplist.
    # The procedure +separator_proc+ is called between each yields.
    #
    # If the iteration is zero times, +separator_proc+ is not called at all.
    #
    # If +separator_proc+ is nil or not given,
    # +lambda { comma_breakable }+ is used.
    # If +iter_method+ is not given, :each is used.
    #
    # For example, following 3 code fragments has similar effect.
    #
    #   q.seplist([1,2,3]) {|v| xxx v }
    #
    #   q.seplist([1,2,3], lambda { q.comma_breakable }, :each) {|v| xxx v }
    #
    #   xxx 1
    #   q.comma_breakable
    #   xxx 2
    #   q.comma_breakable
    #   xxx 3
    def seplist(list, sep=nil, iter_method=:each) # :yield: element
      sep ||= lambda { comma_breakable }
      first = true
      list.__send__(iter_method) {|*v|
        if first
          first = false
        else
          sep.call
        end
        yield(*v)
      }
    end

    def pp_object(obj)
      object_address_group(obj) {
        seplist(obj.pretty_print_instance_variables, lambda { text ',' }) {|v|
          breakable
          v = v.to_s if Symbol === v
          text v
          text '='
          group(1) {
            breakable ''
            pp(obj.instance_eval(v))
          }
        }
      }
    end

    def pp_hash(obj)
      group(1, '{', '}') {
        seplist(obj, nil, :each_pair) {|k, v|
          group {
            pp k
            text '=>'
            group(1) {
              breakable ''
              pp v
            }
          }
        }
      }
    end
  end

  include PPMethods

  class SingleLine < PrettyPrint::SingleLine
    include PPMethods
  end

  module ObjectMixin
    # 1. specific pretty_print
    # 2. specific inspect
    # 3. generic pretty_print

    # A default pretty printing method for general objects.
    # It calls #pretty_print_instance_variables to list instance variables.
    #
    # If +self+ has a customized (redefined) #inspect method,
    # the result of self.inspect is used but it obviously has no
    # line break hints.
    #
    # This module provides predefined #pretty_print methods for some of
    # the most commonly used built-in classes for convenience.
    def pretty_print(q)
      method_method = Object.instance_method(:method).bind(self)
      begin
        inspect_method = method_method.call(:inspect)
      rescue NameError
      end
      if inspect_method && /\(Kernel\)#/ !~ inspect_method.inspect
        q.text self.inspect
      elsif !inspect_method && self.respond_to?(:inspect)
        q.text self.inspect
      else
        q.pp_object(self)
      end
    end

    # A default pretty printing method for general objects that are
    # detected as part of a cycle.
    def pretty_print_cycle(q)
      q.object_address_group(self) {
        q.breakable
        q.text '...'
      }
    end

    # Returns a sorted array of instance variable names.
    #
    # This method should return an array of names of instance variables as symbols or strings as:
    # +[:@a, :@b]+.
    def pretty_print_instance_variables
      instance_variables.sort
    end

    # Is #inspect implementation using #pretty_print.
    # If you implement #pretty_print, it can be used as follows.
    #
    #   alias inspect pretty_print_inspect
    #
    # However, doing this requires that every class that #inspect is called on
    # implement #pretty_print, or a RuntimeError will be raised.
    def pretty_print_inspect
      if /\(PP::ObjectMixin\)#/ =~ Object.instance_method(:method).bind(self).call(:pretty_print).inspect
        raise "pretty_print is not overridden for #{self.class}"
      end
      PP.singleline_pp(self, '')
    end
  end
end

class Array
  def pretty_print(q)
    q.group(1, '[', ']') {
      q.seplist(self) {|v|
        q.pp v
      }
    }
  end

  def pretty_print_cycle(q)
    q.text(empty? ? '[]' : '[...]')
  end
end

class Hash
  def pretty_print(q)
    q.pp_hash self
  end

  def pretty_print_cycle(q)
    q.text(empty? ? '{}' : '{...}')
  end
end

class << ENV
  def pretty_print(q)
    h = {}
    ENV.keys.sort.each {|k|
      h[k] = ENV[k]
    }
    q.pp_hash h
  end
end

class Struct
  def pretty_print(q)
    q.group(1, sprintf("#<struct %s", PP.mcall(self, Kernel, :class).name), '>') {
      q.seplist(PP.mcall(self, Struct, :members), lambda { q.text "," }) {|member|
        q.breakable
        q.text member.to_s
        q.text '='
        q.group(1) {
          q.breakable ''
          q.pp self[member]
        }
      }
    }
  end

  def pretty_print_cycle(q)
    q.text sprintf("#<struct %s:...>", PP.mcall(self, Kernel, :class).name)
  end
end

class Range
  def pretty_print(q)
    q.pp self.begin
    q.breakable ''
    q.text(self.exclude_end? ? '...' : '..')
    q.breakable ''
    q.pp self.end
  end
end

class File < IO
  class Stat
    def pretty_print(q)
      require 'etc.so'
      q.object_group(self) {
        q.breakable
        q.text sprintf("dev=0x%x", self.dev); q.comma_breakable
        q.text "ino="; q.pp self.ino; q.comma_breakable
        q.group {
          m = self.mode
          q.text sprintf("mode=0%o", m)
          q.breakable
          q.text sprintf("(%s %c%c%c%c%c%c%c%c%c)",
            self.ftype,
            (m & 0400 == 0 ? ?- : ?r),
            (m & 0200 == 0 ? ?- : ?w),
            (m & 0100 == 0 ? (m & 04000 == 0 ? ?- : ?S) :
                             (m & 04000 == 0 ? ?x : ?s)),
            (m & 0040 == 0 ? ?- : ?r),
            (m & 0020 == 0 ? ?- : ?w),
            (m & 0010 == 0 ? (m & 02000 == 0 ? ?- : ?S) :
                             (m & 02000 == 0 ? ?x : ?s)),
            (m & 0004 == 0 ? ?- : ?r),
            (m & 0002 == 0 ? ?- : ?w),
            (m & 0001 == 0 ? (m & 01000 == 0 ? ?- : ?T) :
                             (m & 01000 == 0 ? ?x : ?t)))
        }
        q.comma_breakable
        q.text "nlink="; q.pp self.nlink; q.comma_breakable
        q.group {
          q.text "uid="; q.pp self.uid
          begin
            pw = Etc.getpwuid(self.uid)
          rescue ArgumentError
          end
          if pw
            q.breakable; q.text "(#{pw.name})"
          end
        }
        q.comma_breakable
        q.group {
          q.text "gid="; q.pp self.gid
          begin
            gr = Etc.getgrgid(self.gid)
          rescue ArgumentError
          end
          if gr
            q.breakable; q.text "(#{gr.name})"
          end
        }
        q.comma_breakable
        q.group {
          q.text sprintf("rdev=0x%x", self.rdev)
          q.breakable
          q.text sprintf('(%d, %d)', self.rdev_major, self.rdev_minor)
        }
        q.comma_breakable
        q.text "size="; q.pp self.size; q.comma_breakable
        q.text "blksize="; q.pp self.blksize; q.comma_breakable
        q.text "blocks="; q.pp self.blocks; q.comma_breakable
        q.group {
          t = self.atime
          q.text "atime="; q.pp t
          q.breakable; q.text "(#{t.tv_sec})"
        }
        q.comma_breakable
        q.group {
          t = self.mtime
          q.text "mtime="; q.pp t
          q.breakable; q.text "(#{t.tv_sec})"
        }
        q.comma_breakable
        q.group {
          t = self.ctime
          q.text "ctime="; q.pp t
          q.breakable; q.text "(#{t.tv_sec})"
        }
      }
    end
  end
end

class MatchData
  def pretty_print(q)
    nc = []
    self.regexp.named_captures.each {|name, indexes|
      indexes.each {|i| nc[i] = name }
    }
    q.object_group(self) {
      q.breakable
      q.seplist(0...self.size, lambda { q.breakable }) {|i|
        if i == 0
          q.pp self[i]
        else
          if nc[i]
            q.text nc[i]
          else
            q.pp i
          end
          q.text ':'
          q.pp self[i]
        end
      }
    }
  end
end

class Object < BasicObject
  include PP::ObjectMixin
end

[Numeric, Symbol, FalseClass, TrueClass, NilClass, Module].each {|c|
  c.class_eval {
    def pretty_print_cycle(q)
      q.text inspect
    end
  }
}

[Numeric, FalseClass, TrueClass, Module].each {|c|
  c.class_eval {
    def pretty_print(q)
      q.text inspect
    end
  }
}

[ Back ]
Name
Size
Last Modified
Owner / Group
Permissions
Options
..
--
March 03 2024 22:43:32
root / root
0755
cgi
--
March 03 2024 22:43:33
root / linksafe
0755
date
--
March 03 2024 22:43:33
root / linksafe
0755
digest
--
March 03 2024 22:43:33
root / linksafe
0755
dl
--
March 03 2024 22:43:33
root / linksafe
0755
drb
--
March 03 2024 22:43:33
root / linksafe
0755
fiddle
--
March 03 2024 22:43:33
root / linksafe
0755
irb
--
March 03 2024 22:43:33
root / linksafe
0755
json
--
March 03 2024 22:43:37
root / linksafe
0755
matrix
--
March 03 2024 22:43:33
root / linksafe
0755
net
--
March 03 2024 22:43:33
root / linksafe
0755
openssl
--
March 03 2024 22:43:33
root / linksafe
0755
optparse
--
March 03 2024 22:43:33
root / linksafe
0755
psych
--
March 03 2024 22:43:38
root / linksafe
0755
racc
--
March 03 2024 22:43:33
root / linksafe
0755
rake
--
March 03 2024 22:53:08
root / linksafe
0755
rbconfig
--
March 03 2024 22:43:42
root / linksafe
0755
rdoc
--
March 03 2024 22:43:41
root / linksafe
0755
rexml
--
March 03 2024 22:43:33
root / linksafe
0755
rinda
--
March 03 2024 22:43:33
root / linksafe
0755
ripper
--
March 03 2024 22:43:33
root / linksafe
0755
rss
--
March 03 2024 22:43:33
root / linksafe
0755
rubygems
--
March 03 2024 22:43:42
root / linksafe
0755
shell
--
March 03 2024 22:43:33
root / linksafe
0755
syslog
--
March 03 2024 22:43:33
root / root
0755
test
--
March 03 2024 22:43:33
root / linksafe
0755
uri
--
March 03 2024 22:43:33
root / linksafe
0755
webrick
--
March 03 2024 22:43:33
root / linksafe
0755
x86_64-linux
--
March 03 2024 22:43:38
root / root
0755
xmlrpc
--
March 03 2024 22:43:33
root / linksafe
0755
yaml
--
March 03 2024 22:43:33
root / linksafe
0755
English.rb
6.443 KB
February 04 2013 02:50:20
root / linksafe
0644
abbrev.rb
3.313 KB
February 24 2013 05:06:42
root / linksafe
0644
base64.rb
2.631 KB
October 02 2009 10:45:39
root / linksafe
0644
benchmark.rb
17.939 KB
July 18 2012 03:56:58
root / linksafe
0644
cgi.rb
9.391 KB
November 30 2012 05:06:45
root / linksafe
0644
cmath.rb
7.223 KB
July 23 2011 12:14:43
root / linksafe
0644
complex.rb
0.371 KB
August 16 2009 15:34:35
root / linksafe
0644
csv.rb
81.322 KB
September 17 2014 05:56:35
root / linksafe
0644
date.rb
0.924 KB
July 26 2023 14:09:00
root / linksafe
0644
debug.rb
28.898 KB
February 02 2013 05:04:54
root / linksafe
0644
delegate.rb
9.783 KB
April 30 2014 07:45:49
root / linksafe
0644
digest.rb
2.244 KB
July 26 2023 14:09:00
root / linksafe
0644
dl.rb
0.273 KB
July 26 2023 14:09:00
root / linksafe
0644
drb.rb
0.019 KB
October 02 2009 10:45:39
root / linksafe
0644
e2mmap.rb
3.805 KB
May 19 2011 00:07:25
root / linksafe
0644
erb.rb
26.084 KB
September 03 2014 04:42:39
root / linksafe
0644
expect.rb
2.144 KB
July 26 2023 14:09:00
root / linksafe
0644
fiddle.rb
1.252 KB
July 26 2023 14:09:00
root / linksafe
0644
fileutils.rb
46.353 KB
October 16 2014 07:23:46
root / linksafe
0644
find.rb
2.082 KB
September 20 2012 07:14:54
root / linksafe
0644
forwardable.rb
7.562 KB
January 04 2013 02:52:54
root / linksafe
0644
getoptlong.rb
15.381 KB
December 24 2013 15:46:01
root / linksafe
0644
gserver.rb
8.856 KB
July 07 2014 03:55:25
root / linksafe
0644
ipaddr.rb
26.17 KB
February 23 2013 04:03:59
root / linksafe
0644
irb.rb
20.029 KB
February 05 2013 15:57:19
root / linksafe
0644
json.rb
1.737 KB
July 26 2023 14:09:00
root / linksafe
0644
kconv.rb
5.737 KB
July 26 2023 14:09:00
root / linksafe
0644
logger.rb
20.96 KB
July 13 2013 15:16:09
root / linksafe
0644
mathn.rb
6.524 KB
August 26 2011 22:22:37
root / linksafe
0644
matrix.rb
45.019 KB
February 05 2013 05:43:36
root / linksafe
0644
mkmf.rb
78.186 KB
July 26 2023 14:06:15
root / linksafe
0644
monitor.rb
6.935 KB
November 16 2012 16:55:29
root / linksafe
0644
mutex_m.rb
2.002 KB
February 24 2013 04:49:04
root / linksafe
0644
observer.rb
5.705 KB
August 21 2012 13:03:30
root / linksafe
0644
open-uri.rb
23.656 KB
February 16 2014 17:02:51
root / linksafe
0644
open3.rb
21.172 KB
January 13 2013 04:40:15
root / linksafe
0644
openssl.rb
0.516 KB
July 26 2023 14:09:00
root / linksafe
0644
optparse.rb
51.267 KB
February 19 2014 16:38:03
root / linksafe
0644
ostruct.rb
7.636 KB
October 28 2012 21:20:10
root / linksafe
0644
pathname.rb
15.297 KB
July 26 2023 14:09:00
root / linksafe
0644
pp.rb
13.136 KB
August 15 2012 11:50:01
root / linksafe
0644
prettyprint.rb
9.628 KB
August 02 2011 15:25:59
root / linksafe
0644
prime.rb
13.978 KB
January 13 2013 05:07:08
root / linksafe
0644
profile.rb
0.2 KB
October 02 2009 10:45:39
root / linksafe
0644
profiler.rb
4.287 KB
February 03 2013 00:38:46
root / linksafe
0644
pstore.rb
14.849 KB
November 11 2012 04:23:04
root / linksafe
0644
psych.rb
9.896 KB
July 26 2023 14:09:00
root / linksafe
0644
rake.rb
2.069 KB
November 29 2012 19:16:46
root / linksafe
0644
rational.rb
0.301 KB
September 24 2009 00:42:23
root / linksafe
0644
rdoc.rb
4.877 KB
February 19 2013 05:06:36
root / linksafe
0644
resolv-replace.rb
1.732 KB
April 03 2013 17:27:19
root / linksafe
0644
resolv.rb
61.449 KB
June 01 2015 15:13:01
root / linksafe
0644
ripper.rb
2.525 KB
July 26 2023 14:09:00
root / linksafe
0644
rss.rb
2.841 KB
May 11 2011 10:22:16
root / linksafe
0644
rubygems.rb
27.534 KB
July 26 2023 14:06:15
root / linksafe
0644
scanf.rb
23.517 KB
November 05 2011 07:37:47
root / linksafe
0644
securerandom.rb
8.563 KB
September 13 2012 13:01:23
root / linksafe
0644
set.rb
17.316 KB
November 24 2012 18:51:45
root / linksafe
0644
shell.rb
10.3 KB
December 05 2012 02:55:07
root / linksafe
0644
shellwords.rb
5.94 KB
November 09 2012 06:28:00
root / linksafe
0644
singleton.rb
4.018 KB
May 18 2011 14:09:38
root / linksafe
0644
socket.rb
25.758 KB
July 26 2023 14:09:00
root / linksafe
0644
sync.rb
7.256 KB
December 23 2012 10:18:58
root / linksafe
0644
tempfile.rb
10.153 KB
October 09 2013 16:11:16
root / linksafe
0644
thread.rb
6.944 KB
February 09 2014 16:07:41
root / linksafe
0644
thwait.rb
3.376 KB
June 29 2011 03:09:34
root / linksafe
0644
time.rb
21.091 KB
October 09 2013 15:07:45
root / linksafe
0644
timeout.rb
3.163 KB
April 14 2013 15:20:33
root / linksafe
0644
tmpdir.rb
4.148 KB
December 12 2012 12:40:51
root / linksafe
0644
tracer.rb
6.537 KB
February 04 2013 17:59:52
root / linksafe
0644
tsort.rb
6.795 KB
March 06 2009 04:23:05
root / linksafe
0644
ubygems.rb
0.262 KB
October 02 2009 10:45:39
root / linksafe
0644
un.rb
8.337 KB
August 03 2012 08:23:18
root / linksafe
0644
uri.rb
3.07 KB
May 13 2011 20:03:21
root / linksafe
0644
weakref.rb
3.229 KB
December 02 2012 07:57:45
root / linksafe
0644
webrick.rb
6.695 KB
November 07 2012 06:49:57
root / linksafe
0644
xmlrpc.rb
8.493 KB
September 13 2012 02:24:08
root / linksafe
0644
yaml.rb
2.303 KB
May 19 2013 19:01:43
root / linksafe
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025
CONTACT ME
Static GIF