Anise v0.2.1 released

= Anise


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.


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.


To install with RubyGems simply open a console and type:

gem install anise

To manually install you will need Setup.rb (see Then download the tarball package and do:

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


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
   # ...

 # Annotated Attributes

 attr :baz, Integer, :max => 10


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


Turn is the recommended way to run Anise’s test suite

$ 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


Copyright © 2008 TigerOps

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

Please see COPYING file for details.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs