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
[ show source ]
# File lib/more/facets/reference.rb, line 50 def self.new(obj) ref = allocate ref.become obj ref end
Public Instance methods
This method is also aliased as
instance_delegate
[ show source ]
# File lib/more/facets/reference.rb, line 66 def __value__ @ref end
[ show source ]
# File lib/more/facets/reference.rb, line 60 def become(obj) old = @ref @ref = obj old end
[ show source ]
# File lib/more/facets/reference.rb, line 56 def method_missing(*args, &block) @ref.__send__(*args, &block) end