123456789_123456789_123456789_123456789_123456789_

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

Relationships & Source Files
Inherits: Object
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.

Class Method Summary

Instance Method Summary

Constructor Details

.new(a_proc) ⇒ ProcWrapper

Creates a new wrapper for a_proc.

[ GitHub ]

  
# 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) Also known as: #eql?

[ GitHub ]

  
# 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

#eql?(other)

Alias for #==.

[ GitHub ]

  
# File 'lib/test/unit/util/procwrapper.rb', line 40

alias :eql? :==

#hash

[ GitHub ]

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

def hash
  return @hash
end

#to_proc

[ GitHub ]

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

def to_proc
  return @a_proc
end