Anise v0.2.1 released


#1

= Anise

http://anise.rubyforge.org

== INTRODUCTION

Anise is an Annotations Systems for the Ruby programming language.
Unlike most other annotations systems it is not a comment-based system,
or a “macro” system that sits over-and-above the rest of the code.
Rather, Anise is a dynamic annotations system operating at runtime.

== RELEASE NOTES

This is the first public release of Anise.

Anise is a spin off the the Facets annotations.rb library. It includes
the Annotations functionality, and adds a mixin, Annotator, that makes
it easy to add new annotations on the fly.

0.2.0 // 2008-09-23

2 Major Enhancments

  • All parts of lib are now modules and not core extensions.
  • Names of modules are more consistant.

== INSTALLATION

To install with RubyGems simply open a console and type:

gem install anise

To manually install you will need Setup.rb (see
http://setup.rubyforge.org). Then download the tarball package and do:

$ tar -xvzf anise-0.2.0.tgz
$ cd anise-0.2.0
$ sudo setup.rb all

== USAGE

The following example briefly demonstrates all three major features.

require ‘anise’

class X

 include Anise

 # Annotations

 ann :grape, :class=>String

 # Annotators

 annotator :doc

 doc "This is an entry."

 def bar
   # ...
 end

 # Annotated Attributes

 attr :baz, Integer, :max => 10

end

Looking at the resulting annotations:

X.ann(:foo) #=> {:class=>String}
X.ann(:bar) #=> {:doc=>“This is an entry.”}
X.ann(:baz) #=> {:class=>Integer, :max=>10}

The Anise library can be used as a whole, per the example above, or
these features can be used separately. For more details see the RDoc API
documentation.

== TESTING

Turn is the recommended way to run Anise’s test suite
(http://turn.rubyforge.org).

$ turn test/test_*

But a script +test/suite.rb+ script is include so you can easily run the
unit tests with the testrb command:

$ testrb -Ilib test/suite.rb

or with Ruby alone:

$ ruby -Ilib -rtest/unit test/suite.rb

== LICENSE

Copyright © 2008 TigerOps

This program is distributed under the terms of the LGPL License.

Please see COPYING file for details.