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

Inherits:
Object
  • Object
show all
Defined in:
lib/test/unit/util/procwrapper.rb,
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.



17
18
19
20
# File 'lib/test/unit/util/procwrapper.rb', line 17

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?



26
27
28
29
30
31
32
33
# File 'lib/test/unit/util/procwrapper.rb', line 26

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

#hashObject



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

def hash
  return @hash
end

#to_procObject



36
37
38
# File 'lib/test/unit/util/procwrapper.rb', line 36

def to_proc
  return @a_proc
end