Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
A Ruby library for quickly creating proxy objects.
Ruby
Branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
lib
spec
.gitignore
CHANGELOG
LICENSE
README.textile
Rakefile
init.rb
roxy.gemspec

README.textile

Roxy (A ruby proxy library)

Summary

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)

Installation

To install the roxy gem run the following:

sudo gem install yfactorial-roxy —source http://gems.github.com

And to enable the scopes in your project just require the roxy library and give your object some moxie:

require ‘roxy’ class Person include Roxy::Moxie … end

Usage

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?
Something went wrong with that request. Please try again.