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.