CARVIEW |
Select Language
HTTP/2 302
server: nginx
date: Thu, 07 Aug 2025 06:45:06 GMT
content-type: text/plain; charset=utf-8
content-length: 0
x-archive-redirect-reason: found capture at 20090406181138
location: https://web.archive.org/web/20090406181138/https://github.com/yfactorial/roxy/tree
server-timing: captures_list;dur=5.047219, exclusion.robots;dur=0.031356, exclusion.robots.policy;dur=0.014383, esindex;dur=0.015151, cdx.remote;dur=254.247885, LoadShardBlock;dur=458.437443, PetaboxLoader3.datanode;dur=272.630462, PetaboxLoader3.resolve;dur=80.452869
x-app-server: wwwb-app210
x-ts: 302
x-tr: 843
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
set-cookie: wb-p-SERVER=wwwb-app210; path=/
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 301
server: nginx
date: Thu, 07 Aug 2025 06:45:07 GMT
content-type: text/html; charset=utf-8
content-length: 111
x-archive-orig-server: nginx/0.6.31
x-archive-orig-date: Mon, 06 Apr 2009 18:11:37 GMT
x-archive-orig-connection: close
x-archive-orig-status: 301 Moved Permanently
location: https://web.archive.org/web/20090406181138/https://github.com/yfactorial/roxy/tree/master
x-archive-orig-x-runtime: 57ms
x-archive-orig-cache-control: no-cache
x-archive-orig-content-length: 111
cache-control: max-age=1800
memento-datetime: Mon, 06 Apr 2009 18:11:38 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Tue, 18 Nov 2008 18:12:17 GMT", ; rel="prev memento"; datetime="Tue, 06 Jan 2009 08:50:58 GMT", ; rel="memento"; datetime="Mon, 06 Apr 2009 18:11:38 GMT", ; rel="next memento"; datetime="Tue, 09 Jun 2009 13:26:01 GMT", ; rel="last memento"; datetime="Sat, 26 Jul 2025 13:56:31 GMT"
content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src: 52_9_20090406065331_crawl102-c/52_9_20090406180752_crawl101.arc.gz
server-timing: captures_list;dur=0.489507, exclusion.robots;dur=0.019453, exclusion.robots.policy;dur=0.009017, esindex;dur=0.009984, cdx.remote;dur=49.688978, LoadShardBlock;dur=305.378949, PetaboxLoader3.datanode;dur=256.132612, PetaboxLoader3.resolve;dur=266.856452, load_resource;dur=273.670528
x-app-server: wwwb-app210
x-ts: 301
x-tr: 656
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 200
server: nginx
date: Thu, 07 Aug 2025 06:45:09 GMT
content-type: text/html; charset=utf-8
x-archive-orig-server: nginx/0.6.31
x-archive-orig-date: Mon, 06 Apr 2009 18:11:38 GMT
x-archive-orig-connection: close
x-archive-orig-status: 200 OK
x-archive-orig-x-runtime: 243ms
x-archive-orig-etag: "d0ebeed6f0fee4f587a2a1ad288bcc5a"
x-archive-orig-cache-control: private, max-age=0, must-revalidate
x-archive-orig-content-length: 21413
x-archive-guessed-content-type: text/html
x-archive-guessed-charset: utf-8
memento-datetime: Mon, 06 Apr 2009 18:11:38 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Tue, 06 Jan 2009 08:50:58 GMT", ; rel="prev memento"; datetime="Thu, 02 Apr 2009 16:52:01 GMT", ; rel="memento"; datetime="Mon, 06 Apr 2009 18:11:38 GMT", ; rel="next memento"; datetime="Wed, 06 May 2009 20:07:38 GMT", ; rel="last memento"; datetime="Wed, 27 Nov 2024 01:47:28 GMT"
content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src: 52_9_20090406065331_crawl102-c/52_9_20090406180752_crawl101.arc.gz
server-timing: captures_list;dur=0.460051, exclusion.robots;dur=0.017868, exclusion.robots.policy;dur=0.008989, esindex;dur=0.009820, cdx.remote;dur=167.426961, LoadShardBlock;dur=441.519598, PetaboxLoader3.datanode;dur=87.821508, PetaboxLoader3.resolve;dur=685.101505, load_resource;dur=336.144321
x-app-server: wwwb-app210
x-ts: 200
x-tr: 1009
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
content-encoding: gzip
yfactorial's roxy at master - GitHub
This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (

This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (

Run the following if you haven't already:
gem sources -a https://gems.github.com
Install the gem(s):
sudo gem install yfactorial-roxy
Description: | A Ruby library for quickly creating proxy objects. |
Clone URL: |
git://github.com/yfactorial/roxy.git
Give this clone URL to anyone.
git clone git://github.com/yfactorial/roxy.git
|
commit ae4f1c933896963e5eb90dfcc5c1c0414baf33c5
tree 537954567f515faf15be998c3c4786ec2c7e9c52
parent 893a0d5c22766551415007ff2129d4f4bb6cb53c
tree 537954567f515faf15be998c3c4786ec2c7e9c52
parent 893a0d5c22766551415007ff2129d4f4bb6cb53c
roxy /
name | age | message | |
---|---|---|---|
![]() |
.gitignore | Thu Nov 13 18:57:20 -0800 2008 | Start on allowing methods with arguments to be ... [Ryan Daigle] |
![]() |
CHANGELOG | Sun Nov 09 10:39:27 -0800 2008 | Initial stab at proxy library [Ryan Daigle] |
![]() |
LICENSE | Sun Nov 09 10:39:27 -0800 2008 | Initial stab at proxy library [Ryan Daigle] |
![]() |
README.textile | Mon Nov 10 13:31:31 -0800 2008 | Added announcement post url [Ryan Daigle] |
![]() |
Rakefile | Sun Nov 09 10:39:27 -0800 2008 | Initial stab at proxy library [Ryan Daigle] |
![]() |
init.rb | Sun Nov 09 10:39:27 -0800 2008 | Initial stab at proxy library [Ryan Daigle] |
![]() |
lib/ | Sat Nov 22 07:27:41 -0800 2008 | Made proxy method more concise [Ryan Daigle] |
![]() |
roxy.gemspec | Sat Nov 22 07:29:14 -0800 2008 | Update gem version [Ryan Daigle] |
![]() |
spec/ | Fri Nov 14 06:20:24 -0800 2008 | Added ability to proxy methods with arguments [Ryan Daigle] |
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 https://gems.github.comAnd to enable the scopes in your project just require the roxy
library and give your object some moxie:
Usage
See the announcement post for detailed usage examples: https://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?
This feature is coming soon. Sit tight!