Reference

Reference provides a way to access object indirectly. This allows for the object itself to be changed on the fly.

  a = "HELLO"
  b = ref(a)
  puts b    #=> "HELLO"
  c = 10
  b.become(c)
  puts b    #=> "10"
Methods
Public Class methods
new(obj)
# File lib/more/facets/reference.rb, line 50
  def self.new(obj)
    ref = allocate
    ref.become obj
    ref
  end
Public Instance methods
__value__()
This method is also aliased as instance_delegate
# File lib/more/facets/reference.rb, line 66
  def __value__
    @ref
  end
become(obj)
# File lib/more/facets/reference.rb, line 60
  def become(obj)
    old = @ref
    @ref = obj
    old
  end
instance_delegate()

Alias for #value

method_missing(*args, &block)
# File lib/more/facets/reference.rb, line 56
  def method_missing(*args, &block)
    @ref.__send__(*args, &block)
  end