mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* lib/logger.rb: improves the amount of documentation that Rdoc
picks up when processing logger.rb by moving the require statement back before the comment block. a patch from Hugh Sasse <hgs at dmu.ac.uk>. [ruby-core:08422] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10647 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
ddc38a6abb
commit
4c86e4a580
3 changed files with 22 additions and 7 deletions
|
@ -17,6 +17,9 @@
|
|||
#
|
||||
|
||||
|
||||
require 'monitor'
|
||||
|
||||
|
||||
#
|
||||
# == Description
|
||||
#
|
||||
|
@ -174,9 +177,6 @@
|
|||
#
|
||||
|
||||
|
||||
require 'monitor'
|
||||
|
||||
|
||||
class Logger
|
||||
VERSION = "1.2.6"
|
||||
/: (\S+),v (\S+)/ =~ %q$Id$
|
||||
|
|
|
@ -12,6 +12,11 @@ class TruncatedDataError<IOError
|
|||
end
|
||||
|
||||
class IO
|
||||
# reads exactly n bytes from the IO stream.
|
||||
# If the data read is nil, raises EOFError.
|
||||
# If the data read is too short, raises TruncatedDataError.
|
||||
# The method TruncatedDataError#data may be used to obtain
|
||||
# the truncated message.
|
||||
def readbytes(n)
|
||||
str = read(n)
|
||||
if str == nil
|
||||
|
|
|
@ -1,4 +1,11 @@
|
|||
# Weak Reference class that does not bother GCing.
|
||||
|
||||
require "delegate"
|
||||
|
||||
# Weak Reference class that does not bother GCing. This allows the
|
||||
# referenced object to be garbage collected as if nothing else is
|
||||
# referring to it. Because Weakref inherits from Delegator it passes
|
||||
# method calls to the object from which it was constructed, so it
|
||||
# is of the same Duck Type.
|
||||
#
|
||||
# Usage:
|
||||
# foo = Object.new
|
||||
|
@ -8,11 +15,9 @@
|
|||
# p foo.to_s # should be same class
|
||||
# ObjectSpace.garbage_collect
|
||||
# p foo.to_s # should raise exception (recycled)
|
||||
|
||||
require "delegate"
|
||||
|
||||
class WeakRef<Delegator
|
||||
|
||||
# RefError is raised if an object cannot be referenced by a WeakRef.
|
||||
class RefError<StandardError
|
||||
end
|
||||
|
||||
|
@ -41,6 +46,7 @@ class WeakRef<Delegator
|
|||
end
|
||||
}
|
||||
|
||||
# Create a new WeakRef from +orig+.
|
||||
def initialize(orig)
|
||||
@__id = orig.object_id
|
||||
printf "orig: %p\n", @__id
|
||||
|
@ -58,6 +64,9 @@ class WeakRef<Delegator
|
|||
super
|
||||
end
|
||||
|
||||
# Return the object this WeakRef references. Raise
|
||||
# RefError if this is impossible. The object is that
|
||||
# to which method calls are delegated (see Delegator).
|
||||
def __getobj__
|
||||
unless @@id_rev_map[self.object_id] == @__id
|
||||
Kernel::raise RefError, "Illegal Reference - probably recycled", Kernel::caller(2)
|
||||
|
@ -71,6 +80,7 @@ class WeakRef<Delegator
|
|||
def __setobj__(obj)
|
||||
end
|
||||
|
||||
# Determine if this Weakref still refers to anything.
|
||||
def weakref_alive?
|
||||
@@id_rev_map[self.object_id] == @__id
|
||||
end
|
||||
|
|
Loading…
Add table
Reference in a new issue