Roxy is a basic proxy library that lets you quickly create proxies between your ruby objects. Its syntax
is loosely based on Association Extensions in ActiveRecord
as that is a well-known use of proxies.
Please see the CHANGELOG for contribution details.
Roxy has the following dependencies:
- rspec >= 1.1.4 (for specs only, not runtime)
To install the roxy gem run the following:
sudo gem install yfactorial-roxy —source http://gems.git.luolix.topAnd to enable the scopes in your project just require the roxy
library and give your object some moxie:
See the announcement post for detailed usage examples: http://ryandaigle.com/articles/2008/11/10/implement-ruby-proxy-objects-with-roxy
Here’s a basic example:
require 'roxy'
class Person
include Roxy::Moxie
attr_accessor :first, :last, :parents
proxy :parents do
def divorced?
proxy_target.size > 1 and proxy_target.collect { |parent| parent.last }.uniq.size > 1
end
end
end
# Can then invoke your proxy methods directly on parents
person.parents.divorced?