Class: Test::Unit::Util::ProcWrapper

Inherits:
Object
  • Object
show all
Defined in:
lib/test/unit/util/procwrapper.rb

Overview

Allows the storage of a Proc passed through ‘&’ in a hash.

Note: this may be inefficient, since the hash being used is not necessarily very good. In Observable, efficiency is not too important, since the hash is only accessed when adding and removing listeners, not when notifying.

Instance Method Summary collapse

Constructor Details

#initialize(a_proc) ⇒ ProcWrapper

Creates a new wrapper for a_proc.



23
24
25
26
# File 'lib/test/unit/util/procwrapper.rb', line 23

def initialize(a_proc)
  @a_proc = a_proc
  @hash = a_proc.inspect.sub(/^(#<#{a_proc.class}:)/){''}.sub(/(>)$/){''}.hex
end

Instance Method Details

#==(other) ⇒ Object Also known as: eql?



32
33
34
35
36
37
38
39
# File 'lib/test/unit/util/procwrapper.rb', line 32

def ==(other)
  case(other)
    when ProcWrapper
      return @a_proc == other.to_proc
    else
      return super
  end
end

#hashObject



28
29
30
# File 'lib/test/unit/util/procwrapper.rb', line 28

def hash
  return @hash
end

#to_procObject



42
43
44
# File 'lib/test/unit/util/procwrapper.rb', line 42

def to_proc
  return @a_proc
end