Method Missing, etc.

A simple proxy object:

class Proxy
  def initialize(object)
    @object = object
  end
 
  def method_missing(symbol, *args)
    @object.send(symbol, *args)
  end
end
 
object = ["a", "b", "c"]
proxy = Proxy.new(object)
puts proxy.first # Outputs: "a"