Proxies

Proxies can even proxy other proxies. The gem is Ruby 1.8 and 1.9 compatible (on 1.9 uses BasicObject class).

Installation

gem install proxies

Usage

Proxies::Proxy.new(lambda { my_method }, :owner => self) do
  def extension_method
    proxy_target.length * 500
  end
end

Proxies::Proxy.new(lambda { my_method }, :owner => self, :extend => MyExtension) do
  def add_owner_and_target_values
    proxy_target.value + proxy_owner.value
  end
end

Proxies::Proxy.new(lambda { target_object }) do
  def extension_method
    proxy_target.length * 500
  end
end

Proxies::Proxy.new(lambda { my_method }, :owner => self, :extend => [FirstExtension, SecondExtension])

Copyright © 2010 Jakub Kuźma. See LICENSE for details.