Cut-based AOP for Ruby
Cuts is an expiremental pure-Ruby implimentation of cut-base AOP. Cuts are a failry low-level system, so implementing them in pure-Ruby is no simple accomplishment, even for a language as reflective and metaprogrammable as Ruby is.
Cuts started it's life as a discussion about AOP on Ruby-talk, which led to a in-depth discussion between Trans and Peter Vanbroekhoven. The outcome of those talks were three projects. Suby an early expiremental branch of Ruby; the RCRFoundry, a section of the Ruby Garden Wiki dedicated to jointly developing RCRs; and the Cut-based AOP RCR. The RCR of course, ultimately led to this project, as well as an expiremental Ruby 1.8.3 core implementation (see the Suby homepage). We continue to touch up the RCR in our local copy of the Cut-based AOP RCR.
News
2008-02-22
Initial Release
The Cuts library comes by way of Facets, where the implementation was orginally housed. Becuase of it's empiremental nature, it was deemd best to move it into it's own project as part of the ongoing work to make Facets a rock solid library. Despite being expiremental, this implementation does pass it's unit test. However, it has had litte trial in integrated tests. It will be interesting to see if this library, as it matures, can prove robust enough for production use. In either case, clearly it would be preferable to have a Ruby-core implementation instead, but that potential is completely in other persons hands.
Installation
Via RubyGems:
$ gem install cuts
With the source code:
$ tar -xzf cuts-x.y.z.tar.gz
$ cd reap-x.y.z
$ sudo setup.rb
Microsoft Windows users, you'll have to use ruby setup.rb instead.
Usage
For detailed usage documentation, please refer to the RDocs.
Development
Cuts is hosted by Rubyforge at http://cuts.rubyforge.org.
Anonymous Access
To pull the 'cuts' repository anonymously, use:
git clone git://rubyforge.org/cuts.git
Developer Access via Gitosis
Developers, you can push to the 'cuts' repository using:
gitosis@rubyforge.org:cuts.git
Browse the Git Repository
You can use gitweb to browse the 'cuts' repository.
Special Thanks
Special thanks to Peter Van Broekhoven. The man is a genius!
License
Cuts, Copyright © 2008 Tiger Ops
This program is free software: you can redistribute it and/or modify it under the terms of the MIT or Ruby License.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.