Sunday, January 29, 2006

Creating relations between two models - Active Records

This post will show you how you can create relations between two tables / models / Active Records.

For example, I have a resources table and a categories table and I would like to make sure that when adding another resource I can choose / select a category.

Vice versa, I would like to be able to get the resources that belong to a category.

We'll assume all the tables we need exist with the proper field names.

For my application:
A portal has many categories
A category has many resources
A tag has many resources

I will be creating some relations here, but you should get the idea.

Open resource.rb (the model which will have categories) and add

belongs_to :category


Open category.rb, and put

has_many :resources



We just told Rails that a resource belongs to a single category and that a category can have many resources.

So what do these declarations do? After putting these declarations, we can use:

@resource.category.category_name


Assuming we have @category containing a category object, the following will get all resources that belong to that category

@category.resources



In resource_controller.rb, we can now change our edit and new functions and add the following so we can have a collection available when we are adding or editing resources.

@categories = Category.find_all


Then in our edit.rhtml and new.rhtml we can put something like:
<select name="resource[category_id]">\n <% @categories.each do |category| %> \n <option value="<%= category.id %>" \n <%= ' selected' if category.id == resource.category_id %>> \n <%= category.name %> \n </option> <% end %></select>

Finding the records and displaying them

In *_controller.rb (resource_controller.rb for our example) we can get all the resources from the database in our function using

@resources = Resource.find_all



Then we can traverse through them in .rhtml file using


<% @resources.each do |resource| %>

<%= link_to resource.title, :action => "show", :id => resource.id %>
<%= resource.date %>

<% end %>

Template is missing - Ruby on Rails

When using scaffolding, if you override a default function such as list, you'll get the message that says something like:

Template is missing

To correct this create the appropriate list.rhtml file in correspoding views directory.

Scaffolding: Using scaffolds in Ruby on Rails

To use the power of scaffolding (aka scaffold / scaffolds), place the following line in your *_controller.rb (resource_controller.rb) file
scaffold :resouce

or generate scaffolding using
ruby script/generate scaffold resource

Saturday, January 28, 2006

Ruby on Rails - Tagging with taggable

For Ruby on Rails programmers, there is a cool gem named acts_as_taggable that can be used to quickly and easily implement tagging within your applications.


Installing acts_as_taggable
gem install acts_as_taggable
# output follows
Attempting local installation of 'acts_as_taggable'
Local gem file not found: acts_as_taggable*.gem
Attempting remote installation of 'acts_as_taggable'
Updating Gem source index for: http://gems.rubyforge.org
Successfully installed acts_as_taggable-1.0.4
Installing RDoc documentation for acts_as_taggable-1.0.4...
Open config/environment.rb and put the following line:
require_gem ‘acts_as_taggable‘
See taggable on RubyForge.org for more info.

Create a table named tags for holding tag names.
  1. id (primary key)
  2. name (varchar)


CREATE TABLE `tags` (
`id` INT NOT NULL AUTO_INCREMENT ,
`name` VARCHAR( 255 ) NOT NULL ,
PRIMARY KEY ( `id` ) ,
INDEX ( `name` )
) TYPE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'tags';



Generate an ActiveRecord model class named "Tag"

[frank@srv30 ror]# ruby script/generate model Tag
exists app/models/
exists test/unit/
exists test/fixtures/
create app/models/tag.rb
create test/unit/tag_test.rb
create test/fixtures/tags.yml


Open up models/tag.rb and modify your model as follows:

class Tag < ActiveRecord::Base
acts_as_taggable
end



Now, we need to create join tables. According to the RDoc for acts_as_taggable:

If you´re using the simple has_and_belongs_to_many model, you must NOT have a primary key (usually an ‘id’ column) defined on the join table. If you´re using a full join model, you must add a primary key column to the join table. Please see the RDoc documentation on acts_as_taggable macro and the :join_class_name option for the differences between these two approaches.


Since I am interested in creating a join table for resources, I will call my table tags_resources. This table will have two fields
  • tag_id
  • resource_id

Wednesday, January 25, 2006

HTTP URL validation

A post by Nathaniel Steven on Ruby on Rails list caught my eye. He was answering a question for someone asking for HTTP URL validation plugin.

He suggests to add the following regular expression "as a define
or even as a helper to AR in the format of "validates_format_of_url
:url" to be a shorthand for the REGEX."


class Company < ActiveRecord::Base
validates_format_of :url, :with =>
/^(http|https):\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(([0-9]{1,5})?\/.*)?$/ix
end



Thank you Nathaniel for sharing this.
Frank

Using the place holder syntax to protect against SQL injection attacks in Ruby on Rails.

Worried about how to protect against SQL injection attacks in Ruby on Rails, I posted a question to Ruby on Rails list. My question (in response to an ongoing discussion) was:

No, I am not using a direct value from the forms.

However, I would appreciate if you can tell me how would one add slashes to the string, or replace the quotes from the input value. I know it can be done in PHP using addslashes and str_replace. What are the appropriate functions in Ruby on Rails?

I am sure many of us starting out on ROR would benefit from your answer.

Thanks for your assistance.
Ezra Zygmuntowicz was quick to come to my rescue. She says

Frank-
You do not need to call any special functions to add slashes or escape things for the database in rails as long as you use the place holder syntax. So if you just get in the habit of always using the ? placeholders like you were shown with the snippet below, you will not have to worry about escaping anything before inserting or querying the db:

def self.home_categories (portal_id)
find(:all, :conditions => [ "portal_id=?", portal_id ] )
end


This is the important syntax:

:conditions => [ "portal_id=?", portal_id ]


Cheers-
-Ezra
Thanks to Ezra for her assistance.

Frank

Using Parameters with a string

I posted my first question to the Ruby on Rails list and got an answer right away.

My question:

Hello,

I am learning Ruby on Rails and have a very basic question.

def self.home_categories (portal_id)
find(:all,
:conditions => "portal_id=:portal_id"
)
end

How can I put the value of portal_id in the string "portal_id=...". I tried concatenation but I get the error that it cannot convert.

I can figure it out eventually but thought someone may have the answer ready.

Thanks
Frank



The answers I received:

From Justin Bailey
Easy, ruby can embed expressions into strings:


def self.home_categories (portal_id)
find(:all,
:conditions => "portal_id=#{portal_id}"
)
end




The #{..} syntax acts like ruby code inside your string, so the value
of portal_id gets into your conditions.

Now, the fact you are putting this value directly into a SQL statement
might be troubling - it it's from some sort of form submission or URL
you are opening yourself to SQL injection attacks there.


Eric Goodwin said:

Hey, You probably want something like this


def self.home_categories (portal_id)
find(:all, :conditions => [ "portal_id=?", portal_id ] )
end

Using and defining functions in Ruby on Rail

Simple function definition

def self.home_categories (portal)
end


Calling this function
@categories = Category.home_categories (:current_portal)

Simple find
find(:all,
:conditions => "portal_id=1"#, #date_available <= now()
# :order => "" #date_available desc
)

Tuesday, January 24, 2006

Ruby on Rails routing

To route Ruby on Rails requests, something like the following works for me:

#BEGIN ROR
# General Apache options
#Options +FollowSymLinks +ExecCGI
AddHandler fastcgi-script .fcgi
AddHandler cgi-script .cgi
RewriteCond ${lowercase:%{SERVER_NAME}} domain.com$
RewriteCond ${lowercase:%{REQUEST_FILENAME}} !\.js$
RewriteCond ${lowercase:%{REQUEST_URI}} !\.js$
RewriteRule ^/(.*)$ /var/www/html/hosts/domain.com/docs/ror/public/dispatch.fcgi [QSA,L]
RewriteCond ${lowercase:%{REQUEST_FILENAME}} prototype.js$
RewriteRule ^/(.*)$ /var/www/html/hosts/domain.com/docs/ror/public/javascripts/prototype.js [QSA,L]
# END ROR

Monday, January 23, 2006

AJAX on Rails

Put in head

<%= javascript_include_tag "prototype" %>




And then in body



<%= link_to_remote("Show the AJAX",
:update => 'mydiv',
:url => { :action => :new }) %>

This text will be changed



Ruby on Rails split / explode a string

To explode or split a string using Ruby on Rails:

@m=@tag.split('-')
@my=@m[0];



Then the splitted or exploded value of the string can be accessed by using

<%= @my %>
<%= @m[0] %>
<%= @m[-1] %>

Ruby on Rails variables domain

To get the value of domain names, put the following in .rhtml file

<%= request.domain(2) %>


or render_text request.domain(); in *_controller.rb file

If no argument is supplied, tld_length will default to 1.

Ruby Routes - Custom routes in Ruby

Example of how you will create Ruby Routes.

map.connect ':primary/:category', :controller => 'site', :action => 'list'
map.connect 'tag/:tag', :controller => 'site', :action => 'list'
map.connect ':category', :controller => 'site', :action => 'list'



Put in routes.rb

Friday, January 20, 2006

rake stats

[root@srv30 layouts]# rake stats
(in /var/www/html/hosts/socialbookmarking.org/docs/ror)
+----------------------+-------+-------+---------+---------+-----+-------+
| Name | Lines | LOC | Classes | Methods | M/C | LOC/M |
+----------------------+-------+-------+---------+---------+-----+-------+
| Helpers | 7 | 6 | 0 | 0 | 0 | 0 |
| Controllers | 50 | 36 | 3 | 5 | 1 | 5 |
| Components | 0 | 0 | 0 | 0 | 0 | 0 |
| Functional tests | 36 | 26 | 4 | 6 | 1 | 2 |
| Models | 6 | 6 | 2 | 0 | 0 | 0 |
| Unit tests | 20 | 14 | 2 | 2 | 1 | 5 |
| Libraries | 0 | 0 | 0 | 0 | 0 | 0 |
+----------------------+-------+-------+---------+---------+-----+-------+
| Total | 119 | 88 | 11 | 13 | 1 | 4 |
+----------------------+-------+-------+---------+---------+-----+-------+
Code LOC: 48 Test LOC: 40 Code to Test Ratio: 1:0.8

To find by tag

To find by tag:

Modify list method

def list
# new to help find by tags
@tag = @params['tag']
# original before search
@sites = Site.find_all
end


and edit list.rhtml in views/site directory

<% @sites.each do |site| %>

<% if (@tag == nil) || (@tag == site.tag.tag)%>



and add

<%= link_to site.tag.tag,
:action => "list",
:tag => "#{site.tag.tag}" %>



Note that because of
:tag => "#{site.tag.tag}"
the following gets added to the URL
http://socialbookmarking.org/site/list?tag=encyclopaedia

Creating Layouts

first open the *_controller.rb you want to edit. In my case, its site_controller.rb

and add the custom layout
class SiteController < ApplicationController
# creating the layout
layout "my-layout"


then create your template in views/layout/my-layout.rhtml and whereever you want the content of the page to appear, insert the following line
<%= @content_for_layout %>

Redirect to an action

To redirect to an action after processing a request
redirect_to :action => 'list'

Find a record with the id from the link

To find a record (site) from the id in the link,
Site.find(@params['id'])

To delete this record
Site.find(@params['id']).destroy

Deleting a row using delete

When we add a delete link



<%= link_to "(delete)",
{:action => "delete", :id => site.id},
:confirm => "Really delete #{site.title}?" %>



We get the error
“Unknown action”

However, when we create a destroy link, it works.

If we want to keep the delete link, we must add the action.

def delete
Site.find(@params['id']).destroy
redirect_to :action => 'list'
end

ActiveRecord::StatementInvalid in Site#create

So I was getting the following error in my Ruby on Rails application.
Mysql::Error: Column 'added' cannot be null: INSERT INTO mytable (`added`, `highlight`, `modified`, `title`, `tags`, `tag_id`, `username`, `border`, `paid`, `desc`, `site_type`, `link`, `usersubmitted`) VALUES(NULL, '0', NULL, 'testing', '', 1, '', '0', '0', ' testing', '', 'testing', '0')

As is obvious, the column 'added' cannot be null. We can fix this by overriding the method create (this is the method where the "new" form is submitted to )

def create
@site = Site.new(@params['site'])
#we were getting "added cannot be null"
@site.added = Date.today
@site.modified = Date.today
if @site.save
redirect_to :action => 'list'
else
render_action 'new'
end
end



Add the delete link


<%= link_to "(delete)",
{:action => "delete", :id => site.id},
:confirm => "Really delete #{site.title}?" %>


Scaffold: The two in one command

Instead of
ruby script/generate model Site
ruby script/generate controller Site


we can now use
ruby script/generate scaffold Site

WARNING: If the above command is run after you have created custom MVC (models, views and controller), they will be overwritten.

Ruby on Rails Update

View what version of RubyGems you have installed.

[root@srv30 ror]# gem list --local

*** LOCAL GEMS ***

actionmailer (1.1.5)
Service layer for easy email delivery and testing.

actionpack (1.11.2)
Web-flow and rendering framework putting the VC in MVC.

actionwebservice (1.0.0)
Web service support for Action Pack.

activerecord (1.13.2)
Implements the ActiveRecord pattern for ORM.

activesupport (1.2.5)
Support and utility classes used by the Rails framework.

fcgi (0.8.6.1)
FastCGI ruby binding.

mysql (2.7)
MySQL/Ruby provides the same functions for Ruby programs that the
MySQL C API provides for C programs.

rails (1.0.0)
Web-application framework with template engine, control-flow layer,
and ORM.

rake (0.6.2)
Ruby based make-like utility.

sources (0.0.1)
This package provides download sources for remote gem installation


To view the version of ALL RubyGems available remotely on the rubyforge.org server

gem list --remote

The available versions are

*** REMOTE GEMS ***

action_profiler (1.0.0)
A profiler for Rails controllers

actionmailer (1.1.5, 1.1.4, 1.1.3, 1.1.2, 1.1.1, 1.0.1, 1.0.0, 0.9.1, 0.9.0, 0.8.1, 0.8.0, 0.7.1, 0.7.0, 0.6.1, 0.6.0, 0.5.0, 0.4.0, 0.3.0)
Service layer for easy email delivery and testing.

actionpack (1.11.2, 1.11.1, 1.11.0, 1.10.2, 1.10.1, 1.9.1, 1.9.0, 1.8.1, 1.8.0, 1.7.0, 1.6.0, 1.5.1, 1.5.0, 1.4.0, 1.3.1, 1.3.0, 1.2.0, 1.1.0, 1.0.1, 1.0.0, 0.9.5, 0.9.0, 0.8.5, 0.8.0, 0.7.9, 0.7.8, 0.7.7, 0.7.6, 0.7.5)
Web-flow and rendering framework putting the VC in MVC.

actionservice (0.3.0, 0.2.102, 0.2.100, 0.2.99)
Web service support for Action Pack.

actionwebservice (1.0.0, 0.9.4, 0.9.3, 0.9.2, 0.9.1, 0.8.1, 0.8.0, 0.7.1, 0.7.0, 0.6.2, 0.6.1, 0.6.0, 0.5.0)
Web service support for Action Pack.

activerecord (1.13.2, 1.13.1, 1.13.0, 1.12.2, 1.12.1, 1.11.1, 1.11.0, 1.10.1, 1.10.0, 1.9.1, 1.9.0, 1.8.0, 1.7.0, 1.6.0, 1.5.1, 1.5.0, 1.4.0, 1.3.0, 1.2.0, 1.1.0, 1.0.0, 0.9.5, 0.9.4, 0.9.3, 0.9.2, 0.9.1, 0.9.0, 0.8.4, 0.8.3, 0.8.2, 0.8.1, 0.8.0, 0.7.6, 0.7.5)
Implements the ActiveRecord pattern for ORM.

activesalesforce (0.0.3, 0.0.2)
ActiveSalesforce is an extension to the Rails Framework that allows
for the dynamic creation and management of ActiveRecord objects
through the use of Salesforce meta-data and uses a Salesforce.com
organization as the backing store.

activesupport (1.2.5, 1.2.4, 1.2.3, 1.2.2, 1.2.1, 1.1.1, 1.1.0, 1.0.4, 1.0.3, 1.0.2, 1.0.1, 1.0.0)
Support and utility classes used by the Rails framework.

acts_as_paranoid (0.3.1, 0.2, 0.1.7, 0.1.6, 0.1.5, 0.1.4, 0.1.3)
acts_as_paranoid keeps models from actually being deleted by setting
a deleted_at field.

acts_as_shellable (0.1.0)
An acts-as mixin providing aliases and shorthand sql generation to
make ActiveRecord objects more usable in a shell.

acts_as_taggable (1.0.4)
An acts-as Mixin for easy applying and searching tags/folksnomies on
Active Record objects

acts_as_versioned (0.2.3, 0.2.1, 0.2, 0.1.3, 0.1.2)
Simple versioning with active record models

ajax_scaffold (1.0.0)
[Rails] Ajax scaffold.

ajax_scaffold_generator (1.0.0)
[Rails] Ajax scaffold.

algorithm-diff (0.1)
Computes the differences between two arrays of elements

alib (0.3.1)
alib

allinoneruby (0.2.7, 0.2.6, 0.2.5, 0.2.4, 0.2.3, 0.2.2, 0.2.1)
A "Just-in-Time and Temporary Installation of Ruby"

amatch (0.2.2, 0.2.1, 0.2.0, 0.1.5, 0.1.4, 0.1.3)
Approximate String Matching library

ambient (0.1.0)
Control an Ambient Orb or Beacon from a Ruby app.

amrita2 (1.9.6)
Amrita2 is a a xml/xhtml template library for Ruby

an-app (0.0.3)
This gem demonstrates executable scripts

archive-tar-minitar (0.5.1, 0.5.0)
Provides POSIX tarchive management from Ruby programs.

archive-tarsimple (1.0.0)
A simple way to create tar archives

arrayfields (3.5.0, 3.4.0, 3.3.0)
arrayfields


Asami (0.04)
Asami is a Gnome2 based Direct Connect client.

audioscrobbler (0.0.1)
Library to submit music playlists to Last.fm

autobuild (0.5, 0.4, 0.3, 0.2, 0.1)
Rake-based utility to build and install multiple packages with
dependencies

aversa (0.3, 0.2, 0.1)
Aversa is a little utility for creating and viewing BitTorrent
metainfo files.

Bangkok (0.1.0)
Chess game file reader and player; can turn games into MIDI files

bangkok (0.1.2, 0.1.1, 0.1.0)
Chess game file reader and player; can turn games into MIDI files

barcode (0.2)
Barcode classes.

bigtinker (0.93)
bigtinker application is a many pre-loaded applets for the tinker
framework using RubyWebDialogs.

bio (0.7.1, 0.7.0)
BioRuby is a library for bioinformatics (biology + information
science).

bioruby (0.6.4, 0.6.3, 0.6.2)
BioRuby is a library for bioinformatics (biology + information
science).

bishop (0.3.0)
A port of the Reverend Bayesian classification library.

bits (0.1.1)
A ruby interface for the Background Intelligent Transfer Service
(BITS)

blinkenlights (0.0.2, 0.0.1)
Control the Blinkenlights on your keyboard from Ruby

Bloglines4R (0.1.0)
A library to access the Bloglines API from Ruby

BlueCloth (1.0.0, 0.0.4, 0.0.3, 0.0.2)
BlueCloth is a Ruby implementation of Markdown, a text-to-HTML
conversion tool for web writers. Markdown allows you to write using
an easy-to-read, easy-to-write plain text format, then convert it to
structurally valid XHTML (or HTML).

builder (1.2.4, 1.2.3, 1.2.2, 1.2.1, 1.2.0, 1.1.0, 1.0.0, 0.1.1, 0.1.0)
Builders for MarkUp.

cacheAR (0.9.1, 0.9.0)
cacheAR is a tiny Rails add-on to enable ActiveRecord caching.

cached_model (1.0.0)
An ActiveRecord::Base model that caches records

calendar_grid (1.0.2, 1.0.1, 1.0)
A utility to build calendars

calibre (1.1.0, 1.0.0, 0.2.0)
A large collection of classes, modules and light-weight frameworks.

calibre-annotation (1.2.1)
Complete Annotation Framework

calibre-ansicode (1.0.0)
Module for working with ANSI codes.

calibre-association (1.0.0)
Create Free Associations

calibre-basicobject (1.0.0)
BasicObject class is essentially a Kernelless Object.

calibre-bbcode (1.0.0)
BBCode markup tool
calibre-binaryreader (1.0.0)
Mixin for working with Binary data.

calibre-bitmask (1.0.0)
Provides bitmask methods.

calibre-classinherit (2.1.0)
Provides class-level inheritance for mixin modules.

calibre-classmethods (2.0.0, 1.0.0)
Provides class-level inheritance for included modules.

calibre-cloneable (1.0.0)
Mixin for making a class clonable

calibre-consoleapp (0.2.0)
Commandline to Object Mapping makes quick work of nice Console
interfaces.

calibre-coroutine (1.0.0)
Coroutine is a more flexible and generic type of subroutine.

calibre-crypt (0.2.0)
Pure Ruby crypt(3) implementation.

calibre-dictionary (1.1.0, 1.0.0)
The Dictionary class is an ordered subclass of Hash.

calibre-downloader (0.2.1)
Download files with progress indication.

calibre-enumerablepass (2.0.0)
Enumerable with parameter passing.

calibre-expirable (0.9.0)
Generic expirability mixin.

calibre-floatstring (0.4.0)
FloatString is a String with accessable character gaps.

calibre-functor (2.0.0)
Remasterable Meta-Function as Object

calibre-heap (1.0.0)
Simple Heap structure and sort.

calibre-inheritor (0.7.1)
Create flexible class inheritable variables.

calibre-interval (1.0.0)
Similar to Range but a true Interval class.

calibre-lisp (0.3.0)
Lisp and Lisp::Format modules give Ruby a wonderfully Lisp flavor.

calibre-lrucache (1.0.0)
Least Recently Used Cache

calibre-mathconstants (2.0.0)
Rather complete collection of scientific constants.

calibre-methodprobe (1.0.0)
Runtime method explorer can report the signiture of a method.

calibre-mock (0.8.0)
Quickly create object immitations and arbitrary behavior mockups.

calibre-multiton (2.0.0, 1.1.0)
Implementation of the Multiton design pattern.

calibre-nackclass (0.5.1)
Nack, which stands for Not-ACKnowledged, is a more efficient tool
for deferable errors.

calibre-nilcomparable (1.0.0)
Has NilClass include Comparable, such that nil is always least.

calibre-nullclass (1.0.0)
Null is a alternate to Nil that's doesn't raise NoMethodError.

calibre-one (0.3.1)
Helper library for creating tight one-liners.

calibre-openobject (1.0.0)
OpenObject is an improved variation of OpenStruct

calibre-paramix (1.0.0)
Utilize mixin modules with include-time options.

calibre-pool (0.3.0)
Gerneral implementation of a thread-safe object pool.

calibre-progressbar (1.0.0)
Console-based Progressbar.

calibre-reference (1.0.0)
Reference is a kind of proxy where the underlying object can be
changed.

calibre-semaphore (1.0.0)
Basic implementation of a counting semaphore.

calibre-stateparser (3.0.0)
State machine based parser.

calibre-statichash (1.0.0)
Hash with "write-once" entries.

calibre-system (1.0.0)
System module is a central facility for platform information.

calibre-tagiterator (1.3.0)
Iterate over tagged markup like HTML and XML.

calibre-timer (1.0.0)
Versitile timer class which has both "alarm" and "stop-watch" modes.

calibre-tracepoint (0.9.0)
TracePoint class ecapsulates a runtime "moment".

calibre-tuple (2.0.0)
Fairly Standard implementation N-Tuple.

calibre-uninheritable (1.0.0)
Uninheritable classes throws error if subclassed.

calibre-units (1.0.0)
Complete Units System

calibre-yamlstruct (0.3.0)
Like OpenStruct but the object is instantiated from a YAML document.

camping (1.1, 1.0)
miniature rails for stay-at-home moms

captcha (0.1.2)
Ruby/CAPTCHA is an implementation of the 'Completely Automated
Public Turing Test to Tell Computers and Humans Apart'.

cardinal (0.1.0, 0.0.4)
Ruby to Parrot compiler.

caseconverter (0.1.1, 0.1.0)
Operations that change the casing of a string.

cast (0.0.1)
C parser and AST constructor.

cfruby (0.9.6, 0.9.4, 0.9.3, 0.9.2, 0.9.1, 0.9.0)
A collection of modules, classes, and tools for system maintenance
and configuration

cgikit (1.1.0)
CGIKit is a componented-oriented web application framework like
Apple Computers WebObjects. This framework services
Model-View-Controller architecture programming by components based
on a HTML file, a definition file and a Ruby source.

classifier (1.3.0, 1.2.0, 1.1.1, 1.1, 1.0)
A general classifier module to allow Bayesian and other types of
classifications.

cliblog (0.1.6, 0.1.5)
cliblog is a command-line blog client.

cmd (0.7.2, 0.7.1, 0.7.0)
A generic class to build line-oriented command interpreters.

cmdparse (2.0.0, 1.0.5, 1.0.4, 1.0.3, 1.0.2, 1.0.1, 1.0.0)
Advanced command line parser supporting commands

coderay (0.5.0.100, 0.4.5.73, 0.4.3.48)
CodeRay is a fast syntax highlighter engine for many languages.

color-tools (1.3.0, 1.2.0, 1.1.0, 1.0.0)
color-tools provides colour space definition and manpiulation as
well as commonly named RGB colours.

commandline (0.7.10, 0.7.9)
Tools to facilitate creation of command line applications and
flexible parsing of command line options.

CommandLine (0.7.1, 0.7.0, 0.6.0)
Tools to facilitate creation of command line applications and
flexible parsing of command line options.

complearn (0.6.2)
The CompLearn Toolkit enables you to do data mining using data
compression. It also allows you to do Quartet Tree Reconstruction as
well as Support Vector Machine experiments with these techniques.

Console (0.1)
Pure-ruby SDL-based quake-like console.

constraint (0.2, 0.1)
Ensure that objects comply with some constraints

contxtlservice (0.1.1)
The ContextualService library makes it easy to manage and set
services to a single, global resource such as a database or file
system.

copland (1.0.0, 0.8.0, 0.7.1, 0.7.0, 0.6.0, 0.4.0, 0.3.0, 0.2.0, 0.1.0)
Copland is an "Inversion of Control" (IoC, also called "Dependency
Injection") container for Ruby, based heavily on the HiveMind
container for Java. It supports both type-2 (setter) and type-3
(constructor) injection.

copland-lib (0.1.0)
A collection of various non-core Copland services and interceptors.

copland-remote (0.1.0)
A collection of Copland service definitions and implementations for
dealing with remote object manipulation (i.e., via SOAP, DRb, and
XML-RPC).

copland-webrick (0.1.0)
A collection of various Copland services for dealing with WEBrick
servers and servlets.

core_ex (0.4.0, 0.3.1, 0.2.0, 0.1.3, 0.1.2, 0.1.1, 0.1.0)
CoreEx is a proposal for a standard library extension.

coverage (0.3, 0.2, 0.1)
identifies inactive code

creditcard (1.0)
These functions tell you whether a credit card number is
self-consistent using known algorithms for credit card numbers.

crosscase (0.0.1)
A mixin for auto-generating under_barred aliases for camelCased
methods, and vice-versa.

crypt-fog (1.0.0, 0.1.0)
crypt-fog is a simple encryption mechanism, but slightly better than
Rot13. It's primary goal is to provide a reasonable amount of
obfuscation without having to resort to public/private key
exchanges, etc.

crypt-rot13 (1.0.1)
Character rotation encryption, i.e. Caesar Cipher

Crypt::ISAAC (0.9.1)
Ruby implementation of the ISAAC PRNG
csinterface (0.6.2, 0.6.1)
cs/Interface provides interface (like typing) support for Ruby
classes and objects.

cstemplate (0.5.1, 0.4.1, 0.3.1, 0.1.2, 0.1.1)
cs/Template is a fast, generic text templating engine for Ruby,
written in C.

ctapi (0.2.2)
Ruby extension for Chipcard Cardterminal-API (CTAPI)

ctype (0.2.0)
ctype provides Ruby-style methods known from ctype.h.

cursor (0.9, 0.8, 0.6, 0.5)
external iterator API

daapclient (0.1.0, 0.0.2)
Net::DAAP::Client is an iTunes share client.

daedalus (2.0.1)
A daemon for monitoring and reacting to various system and program
conditions

daemons (0.4.2, 0.4.1, 0.4.0, 0.3.0, 0.2.1, 0.2.0, 0.0.1)
A toolkit to create and control daemons in different ways

damagecontrol (0.5.0.1404, 0.5.0.1393, 0.5.0.1392, 0.5.0.1391, 0.5.0)
DamageControl

darcs-ruby (0.0.1)
Interface to Darcs change control system

dataview (0.3.1, 0.3.0, 0.2.0, 0.1.1, 0.1.0)
Data View is a library that creates a view of a data model. The view
can transform the data of the data model without changing the data.
Supports ActiveRecord models and other data models that have a
similar interface.


db_structure (1.0.2, 1.0.1, 1.0.0)
[Rails] Database utilities.

dbc (2.0.0, 1.3.0, 1.2.3, 1.2.2, 1.2.1, 1.2.0, 1.1.2, 1.1.1, 1.1.0)
Design by Contract (DBC) for C

dbdbd (0.2.2)
dbdbd (David Black's Database Definer) -- for ad hoc flat-file
database formats

dbi-dbrc (1.1.0, 1.0.1, 1.0.0)
A simple way to avoid hard-coding passwords with DBI

dbmodel (0.1.0)
A program that generates Rails files from a data model

dbus (0.1.10, 0.1.9, 0.1.8, 0.1.7, 0.1.5)
Ruby bindings for D-BUS.

dctl (1.0.3, 1.0.2, 1.0.1, 1.0.0)
dctl - a daemon controller written in Ruby

De.linque.nt (0.0.1)
Twisted script for ad-hoc Del.icio.us meta-posts.

debugprint (1.0.0)
Easy debug() and info() methods for Kernel that use $VERBOSE and
$INFO

deplate (0.7.3)
Convert wiki-like markup to latex, docbook, html, or html-slides

dev-utils (1.0.1, 1.0)
Debugging utilities: breakpoints, debugging, and tracing.

diakonos (0.7.0)
Diakonos is a customizable, usable console-based text editor.

diff-lcs (1.1.2, 1.1.1, 1.1.0.1, 1.1.0, 1.0.4.1, 1.0.4, 1.0.3, 1.0.2, 1.0.1, 1.0.0)
Provides a list of changes that represent the difference between two
sequenced collections.


digest-bubblebabble (1.1.0)
A Ruby package for creating BubbleBabble fingerprints.

dnssd (0.6.0)
DNS Service Discovery (aka Rendezvous) API for Ruby

ducktypechecker (0.1.1, 0.1.0)
Check to see if an object "walks like a duck".

dynaload (0.2.0, 0.1.1, 0.1.0)
dynaload

easyprompt (0.1.3, 0.1.2, 0.1.1, 0.1.0)
EasyPrompt is a utility for command-line scripts.

ebay (0.5.2, 0.5.1)
eBay4R is a Ruby wrapper for eBay's Web Services SOAP API. Emphasis
is on ease of use and small footprint.

EliteJournal (1.9.492, 1.9.480, 1.9.403, 1.9.401, 1.9.400)
Easy to install, multi-user blog software

englishext (0.1.0)
EnglishExtensions contains a few convenience methods for String.

eteos-client (0.3.0, 0.2.0)
Eteos Client for Rails allows cross-website authentication via the
Eteos authentication service (www.eteos.com) in two lines of code
for Rails applications. Even integrates with ActiveRecord user
models simply and easily.

extensions (0.6.0, 0.5.0, 0.4.0)
'extensions' is a set of extensions to Ruby's built-in classes. It
gathers common idioms, useful additions, and aliases, complete with
unit testing and documentation, so they are suitable for production
code.

extract-curves (0.1.1)
GUI digitizer of a raster trace of the geometric curve corresponding
to the characteristics of motion of a process.


extract_curves (0.0.1)
GUI digitizer of a raster trace of the geometric curve corresponding
to the characteristics of motion of a process.

extractsbmtags (0.1.0)
Extract social bookmark service's tags from RSS

ezcrypto (0.2.1, 0.2, 0.1.1, 0.1)
Simplified encryption library.

facade (1.0.1)
An easy way to implement the facade pattern in your class

FaceToFace (0.1.0)
Standardize object conversion and messaging, e.g. '5.to( String )'
instead 'of 5.to_s'

facets (2005.10.30, 2005.10.15, 2005.10.11, 1.0.0, 0.7.2, 0.7.1, 0.7.0, 0.6.3)
The proverbial Zoo-of-More for Ruby

facter (1.0.1)
Facter collects Operating system facts.

FAM-Ruby (0.1.4)
FAM (SGI's File Alteration Monitor) bindings for Ruby.

fastercsv (0.1.4, 0.1.3, 0.1.2)
FasterCSV is CSV, but faster, smaller, and cleaner.

fcgi (0.8.6.1, 0.8.6, 0.8.5)
FastCGI ruby binding.

fckeditor (0.1.0)
A class for generating the HTML needed for the FCKEditor

feedreader (0.2.3)
Example rails project for use with the FeedTools library.



feedtools (0.2.18, 0.2.17, 0.2.16, 0.2.15, 0.2.14, 0.2.13, 0.2.12, 0.2.11, 0.2.10, 0.2.9, 0.2.8, 0.2.7, 0.2.6, 0.2.5, 0.2.4, 0.2.3, 0.2.2, 0.2.1, 0.2.0, 0.1.0)
Parsing, generation, and caching system for xml news feeds.

ferret (0.3.2, 0.3.1, 0.3.0, 0.2.2, 0.2.1, 0.2.0, 0.1.4, 0.1.3, 0.1.2, 0.1.1, 0.1.0)
Ruby indexing library.

file-tail (0.1.3, 0.1.2)
File::Tail for Ruby

filesystem (0.1.0)
FileSystem is a test-obsessed library for mocking out the entire
file system.

fingerserver (0.4.0)
Exposes hash-style objects via the finger protocol.

fireruby (0.4.1, 0.4.0, 0.3.2, 0.3.1, 0.3.0, 0.2.2, 0.2.1, 0.2.0, 0.1.0)
Ruby interface library for the Firebird database.

FixedPt (0.0.1)
Fixed point class

fixrbconfig (1.2, 1.0)
Fixes the rbconfig.rb that ships with Mac OS X 10.4 (Tiger), which
makes it impossible to compile C extensions

flexmock (0.1.7, 0.1.6, 0.1.5, 0.1.4, 0.1.3, 0.1.2, 0.1.1, 0.0.3)
Simple and Flexible Mock Objects for Testing

flickr (1.0.0)
An insanely easy interface to the Flickr photo-sharing service. By
Scott Raymond.

formvalidator (0.1.3)
FormValidator is a Ruby port of Perl's Data::FormValidator library.

Freshmeat-Ruby (0.1.0)
Freshmeat (http://freshmeat.net/) bindings for Ruby.

fxri (0.3.2, 0.3.1, 0.3.0, 0.2.0, 0.1.0)
Graphical interface to the RI documentation, with search engine.

fxruby (1.4.3, 1.4.2, 1.4.1, 1.4.0, 1.2.6, 1.2.5, 1.2.4, 1.2.3, 1.2.2, 1.2.1)
FXRuby is the Ruby binding to the FOX GUI toolkit.

gambit (0.1.1, 0.1.0)
Gambit is a pure Ruby framework for building Web games.

gd2 (1.0)
Ruby interface to gd 2 library.

gdiff (0.0.1)
An implementation of the gdiff protocol

gen (0.27.0, 0.26.0, 0.25.0, 0.24.0)
A simple code generation system.

genie (0.1)
No summary: please specify a summary in metainfo/properties.rb

genx4r (0.05, 0.04)
GenX4r is a Ruby wrapper around the GenX library, which allows you
to programatically generate correct, cannonical XML output.

geoip (0.2.0, 0.1.0)
GeoIP looks up a GeoIP database to provide geographical data for an
IP address or Internet hostname. The free version of the GeoIP
database available from www.maxmind.com only contains country
information. This library supports that and the GeoIPCity file (both
revisions). The data is much more reliable than using the country
codes at the end of the hosts' domain names.

getopt (1.3.1, 1.3.0, 1.2.0, 1.1.0, 1.0.0)
Getopt::Std for Ruby

getopt-declare (1.12, 1.09.7)
Getopt-Declare is a command-line argument parser.


gettext (1.1.1, 1.1.0, 1.0.0)
Ruby-GetText-Package is Native Language Support Library and Tools
which modeled after GNU gettext package.

ggenv (0.5)
Environment variable manipulation using ruby arrays.

glue (0.27.0, 0.26.0, 0.25.0, 0.24.0, 0.23.0, 0.22.0, 0.21.2, 0.21.0, 0.20.0, 0.19.0, 0.18.1, 0.18.0, 0.17.0, 0.16.0, 0.15.0, 0.14.0, 0.13.0)
Utility methods and classes for Nitro.

gmailer (0.1.0, 0.0.9, 0.0.8, 0.0.7, 0.0.6, 0.0.5)
An class interface of the Google's webmail service

gnuplot (2.2, 2.1, 2.0, 1.0)
Utility library to aid in interacting with gnuplot

GongFox (0.2.3, 0.2.2, 0.2.1, 0.2.0, 0.1.0)
GUI & alternative for 'net send'

grammar (0.5)
BNF-like grammar specified directly in ruby

gruff (0.0.9, 0.0.8, 0.0.7, 0.0.6, 0.0.5, 0.0.4, 0.0.3, 0.0.2, 0.0.1)
Beautiful graphs for one or multiple datasets.

hatenabm (0.1.2, 0.1.1, 0.1.0)
Hatena Bookmark AtomAPI Binding for Ruby

hessian (0.5.0)
A Ruby Hessian client.

highline (1.0.1, 1.0.0, 0.6.1, 0.6.0, 0.5.0, 0.4.0, 0.3.0, 0.2.0)
HighLine is a high-level line oriented console interface.

hprevalence (0.2.0, 0.1.1, 0.1.0)
Ruby based prevalence engine.

html-table (1.2.2)
A Ruby interface for generating HTML tables

htmlclipping (0.1.5, 0.1.4, 0.1.3, 0.1.2, 0.1.1, 0.1.0)
HtmlClipping generates excerpts from an HTML page that has a link
pointing to a particular URI.

htmltokenizer (1.0)
A class to tokenize HTML.

htmltools (1.09, 1.0.8)
This is a Ruby library for building trees representing HTML
structure.

icalendar (0.96.4, 0.96.3, 0.96.2, 0.96.1, 0.96, 0.95)
A ruby implementation of the iCalendar specification (RFC-2445).

idn (0.0.1)
LibIDN Ruby Bindings

ifmapper (0.9.7, 0.9.6, 0.9.5, 0.9, 0.8.5, 0.8.1, 0.8, 0.7, 0.6, 0.5)
Interactive Fiction Mapping Tool.

ikko (0.1)
A simple templating engine

Imlib2-Ruby (0.5.1, 0.4.3)
Imlib2 bindings for Ruby.

instiki (0.10.2, 0.10.1, 0.10.0, 0.9.2)
Easy to install WikiClone running on WEBrick and Madeleine

insurance (0.2, 0.1)
Code coverage analysis package.

interface (1.0.0)
Java style interfaces for ruby

io-reactor (0.05)
An implementation of the Reactor design pattern for multiplexed
asynchronous single-thread IO.

IO-Reactor (0.0.6)
An implementation of the Reactor design pattern for multiplexed
asynchronous single-thread IO.


iotaz (0.1.0)
Object-relational mapping library.

ip (0.0.3, 0.0.2, 0.0.1)
Ruby classes to work with IP address, ranges, and netmasks

ipadmin (0.1.0)
A package for manipulating IPv4/IPv6 address space.

iphoto2 (1.0.1, 1.0.0)
iphoto contains methods to parse and access the contents of the
iPhoto pictures.

irb-history (1.0.0)
Persistent, shared IRB Readline history

iterator (0.8, 0.6, 0.5)
bidirectional external iterators

jabber4r (0.8.0, 0.7.0)
Jabber4r is a pure-Ruby Jabber client library

jobserver (0.1.4)
Jobserver serves to run programs on multiple machines in a network
using ssh.

Joystick-Ruby (0.1.0)
Linux joystick support for Ruby.

jpeg2pdf (0.12)
jpeg2pdf is a free program that converts a directory of JPEG files
to a PDF file.

json (0.4.0)
A JSON implementation in Ruby

keyedlist (0.4.0)
A Hash which automatically computes keys.

khammurabi (0.2)
An inference engine.


KirbyBase (2.5.2, 2.5.1, 2.5)
KirbyBase is a simple, pure-Ruby, plain-text, flat-file database
management system.

kitchen (0.0.3)
kitchen provides an easy way to destructively test your code.

kodekopelli (0.8.0)
Making code generation rock since 2003. Do it well. Do it once. Let
Kodekopelli do the rest.

kreed (0.0.2, 0.0.1)
Kyle's Ruby Extendable Editor For Doom

kwaff (1.0.0)
a friendly formatter to generate XHML

kwalify (0.5.1, 0.5.0, 0.3.0, 0.2.0, 0.1.0)
a tiny schema validator for YAML document.

kwartz-ruby (2.0.4, 2.0.3, 2.0.2, 2.0.1, 2.0.0)
a template system for Ruby, PHP, and Java

kwatable (0.0.1)
SQL and DTO generator from table definition

ladspar (0.1)
Interface to LADSPA plugins

lafcadio (0.9.1, 0.9.0, 0.8.2, 0.8.1, 0.8.0, 0.7.5, 0.7.4, 0.7.3, 0.7.2, 0.7.1, 0.7.0, 0.6.6, 0.6.5, 0.6.4, 0.6.3, 0.6.2, 0.6.1, 0.6.0, 0.5.2, 0.5.1, 0.5.0, 0.4.3, 0.4.2, 0.4.1, 0.4.0, 0.3.6, 0.3.5, 0.3.4)
Lafcadio is an object-relational mapping layer

latex (0.1.3, 0.1.2, 0.1.1)
Latex is a LaTeX text generation library for Ruby.

lazylist (0.2.2, 0.2.1, 0.2.0, 0.1.3, 0.1.2)
Implementation of lazy lists for Ruby

libbz2 (0.4)
Ruby-BZ2 is a Ruby extension to use libbz2.



libgnucap-ruby (0.1)
gnucap-ruby is a ruby binding to gnucap

libinject (0.1.0)
LibInject is a developer tool for injecting external dependencies
into a Ruby file.

libxosd-ruby (0.4)
libxosd-ruby is a ruby interface to libxosd

libxosd2-ruby (0.4)
libxosd-ruby is a ruby interface to libxosd

Linguistics (1.0.3, 1.0.2)
A generic, language-neutral framework for extending Ruby objects
with linguistic methods.

localization_generator (1.0.8, 1.0.7, 1.0.6, 1.0.5, 1.0.4, 1.0.3, 1.0.2, 1.0.1, 1.0.0)
[Rails] Localization generator.

lockfile (1.4.0, 1.3.0, 1.1.0)
lockfile

log4r (1.0.5)
Log4r is a comprehensive and flexible logging library for Ruby.

login_generator (1.1.0)
[Rails] Login generator.

logmerge (1.0.0)
Resolves IP addresses and merges Apache access logs.

lxl (0.4.3, 0.4.2, 0.4.1, 0.4.0, 0.3.8, 0.3.4, 0.3.1, 0.3.0, 0.2.4, 0.2.3, 0.2.2, 0.2.0, 0.1.1, 0.1.0)
LXL (Like Excel) is a mini-language that mimics Microsoft Excel
formulas. Easily extended with new constants and functions.

madeleine (0.7.1, 0.6.1, 0.6)
Madeleine is a Ruby implementation of Object Prevalence

mailfactory (1.2.1, 1.0.2, 1.0.1, 1.0.0, 0.5.3, 0.5.2, 0.5.1, 0.5.0)
MailFactory is a pure-ruby MIME mail generator

marc (0.0.8, 0.0.7, 0.0.6, 0.0.5, 0.0.4, 0.0.3, 0.0.2, 0.0.1)
A ruby library for working with Machine Readable Cataloging

markaby (0.2)
Markup as Ruby, write HTML in your native Ruby tongue

MB-Ruby (0.2.1, 0.1.0)
MusicBrainz bindings for Ruby.

mechanize (0.3.1, 0.3.0, 0.2.3, 0.2.2, 0.2.1, 0.2.0, 0.1.3, 0.1.2, 0.1.1, 0.1.0)
Automated web-browsing.

memcache-client (1.0.3)
A Ruby memcached client

memoize (1.2.0, 1.1.0, 1.0.0)
Speeds up methods at the cost of memory (or disk space)

merge3 (0.8)
This gem demonstrates executable scripts

meta_project (0.4.13, 0.4.12, 0.4.11, 0.4.10, 0.4.9, 0.4.8, 0.4.7, 0.4.6, 0.4.5, 0.4.4, 0.4.3, 0.4.2, 0.4.1)
Ruby library for interacting with project hosting servers, scms and
issue trackers.

metaid (1.0)
slight metaprogramming helpers

midilib (0.8.5, 0.8.4, 0.8.3, 0.8.2, 0.8.1, 0.8.0)
MIDI file and event manipulation library

mime-types (1.13.1)
Manages a MIME Content-Type that will return the Content-Type for a
given filename.

mockery (0.4.1)
Dynamic mock objects

mockfs (0.1.2, 0.1.1)
MockFS is a test-obsessed library for mocking out the entire file
system.

model_security_generator (0.0.9, 0.0.8, 0.0.7, 0.0.6, 0.0.5, 0.0.3, 0.0.2, 0.0.1)
[Rails] Model security and authentication generator.

money (1.5.9, 1.5.8, 1.5.6, 1.5, 1.4, 1.3.2)
Class aiding in the handling of Money.

month (0.1.0)
Month is a utility class for representing months in Ruby.

multi (0.1)
Multiple Dispatch/Pattern Matching for Ruby

multiblocks (0.1.0)
multiblocks is a framework for emulating Smalltalk-like method calls
which can take more than one block parameter

MultipartAlternativeLite (0.0.1)
Lib for creating multipart/alternative HTML messages.

mw-template (0.9.1)
MuraveyWeb::Template is a decent template library, part of
MuraveyWeb framework.

mysql (2.7, 2.6, 2.5.1)
MySQL/Ruby provides the same functions for Ruby programs that the
MySQL C API provides for C programs.

namecase (1.0.0)
NameCase is a Ruby implementation of Lingua::EN::NameCase, a library
for converting strings to be properly cased.

narf (0.7.3, 0.7.2, 0.7.1, 0.6.3, 0.6.2, 0.6.1, 0.5.1)
NARF is a replacement for and derivative of the Ruby CGI library. It
exists to trivialize web development .

ncurses (0.9.1)
This wrapper provides access to the functions, macros, global
variables and constants of the ncurses library. These are mapped to
a Ruby Module named "Ncurses": Functions and external variables are
implemented as singleton functions of the Module Ncurses.


needle (1.3.0, 1.2.1, 1.2.0, 1.1.0, 1.0.0, 0.9.0, 0.6.0, 0.5.0)
Needle is a Dependency Injection/Inversion of Control container for
Ruby. It supports both type-2 (setter) and type-3 (constructor)
injection. It takes advantage of the dynamic nature of Ruby to
provide a rich and flexible approach to injecting dependencies.

needle-extras (1.0.0)
Needle-Extras is a collection of additional services that can be
used with Needle. This is basically a test-bed of services that may
eventually find their way into Needle itself.

neelix (0.0.3)
Recipe management system

nemo (0.1.3, 0.1.2, 0.1.0)
Ruby port of Mewa for Wee

net-netrc (0.2.0, 0.1.0)
Net::Netrc provides ftp(1)-style .netrc parsing

net-ping (1.1.0, 1.0.1, 1.0.0)
A ping interface for Ruby

net-sftp (1.1.0, 1.0.1, 1.0.0, 0.9.0, 0.5.0)
Net::SFTP is a pure-Ruby implementation of the SFTP client protocol.

net-ssh (1.0.6, 1.0.5, 1.0.4, 1.0.3, 1.0.2, 1.0.1, 1.0.0, 0.9.0, 0.6.0, 0.5.0, 0.1.0, 0.0.5, 0.0.4, 0.0.3, 0.0.2, 0.0.1)
Net::SSH is a pure-Ruby implementation of the SSH2 client protocol.

net-tftp (0.1.0)
Net::TFTP is a pure Ruby implementation of the Trivial File Transfer
Protocol (RFC 1350)

net-tnsping (1.1.0, 1.0.0)
A package for pinging Oracle listeners and databases

neuro (0.4.0)
Neural Network Extension for Ruby


nitro (0.27.0, 0.26.0, 0.25.0, 0.24.0, 0.23.0, 0.22.0, 0.21.2, 0.21.0, 0.20.0, 0.19.0, 0.18.1, 0.18.0, 0.17.0, 0.16.0, 0.15.0, 0.14.0, 0.13.0, 0.12.0, 0.11.0, 0.10.0, 0.9.5, 0.9.3, 0.8.0, 0.7.0, 0.6.0, 0.5.0, 0.4.1, 0.3.0, 0.2.0, 0.1.2)
Everything you need to create Web 2.0 applications with Ruby and
Javascript

nitro-auth (0.2.0)
Provides configurable, extensible authentication and authorization
for Nitro.

ObjectGraph (1.0.1, 1.0)
A simple script that generates a graph of the ruby class
hierarchies. Uses GraphViz (separate install).

og (0.27.0, 0.26.0, 0.25.0, 0.24.0, 0.23.0, 0.22.0, 0.21.2, 0.21.0, 0.20.0, 0.19.0, 0.18.1, 0.18.0, 0.17.0, 0.16.0, 0.15.0, 0.14.0, 0.13.0, 0.12.0, 0.11.0, 0.10.0, 0.9.5, 0.9.3, 0.8.0, 0.7.0, 0.6.0, 0.5.0)
State of the art object-relational mapping system.

Ook (1.0.2)
A Ruby interpreter for the Ook!
(www.dangermouse.net/esoteric/ook.html) and BrainF*ck
(www.catseye.mb.ca/esoteric/bf/index.html) programming languages.

openid (0.0.1)
OpenID support for Ruby

opensearch (0.0.1)
Search A9 OpenSearch compatible engines

OptionParser (0.5.1, 0.5.0)
A flexible command line option parser.

Orbjson (0.0.4, 0.0.3, 0.0.2, 0.0.1)
Lib for creating JSON-RPC server applications.

packrat (0.1.0)
A package documentation extractor/generator for Copland.

PageTemplate (2.1.6, 2.1.5, 2.1.3, 2.1.2, 2.1.1, 2.1.0, 2.0.0, 1.2.0, 1.1.2, 1.1.1)
A simple templating system for Web sites.


parseinput (0.0.1)
Parse Input is a chain-saw tool for data mining.

ParseTree (1.3.7, 1.3.6, 1.3.5, 1.3.4, 1.3.3, 1.3.2, 1.3.0, 1.2.0, 1.1.1, 1.1.0)
Extract and enumerate ruby parse trees.

pathname2 (1.4.0, 1.3.1, 1.3.0, 1.2.1, 1.2.0, 1.1.0, 1.0.0)
An alternate implementation of the Pathname class

payment (1.0.1, 0.9)
Payment is used to process credit cards and electronic cash through
merchant accounts.

paymentonline (0.1)
Ruby interface for the Payment Online Direct Connect API

paypal (1.0.1, 1.0.0, 0.9.0, 0.5.1, 0.5.0)
Paypal IPN integration library for rails and other web applications

pdf-writer (1.1.3, 1.1.2, 1.1.1, 1.1.0, 1.0.1, 1.0.0)
A pure Ruby PDF document creation library.

permutation (0.1.3, 0.1.2, 0.1.1)
Permutation library in pure Ruby

pidify (0.1.1, 0.1.0)
This allows a script to check if there is currently another running
instance of itself, and give it the ability to kill that instance
based on PID.

Pimki (1.8.092, 1.7.092, 1.6.092, 1.5.092, 1.4.092, 1.3.092, 1.2.092, 1.1.092, 1.0.092)
A Personal Information Manager (PIM) based on Instiki's Wiki
technology.

pippin (0.1)
High level XML marshalling/unmarshalling framework.

Platform (0.4.0, 0.3.0, 0.2.0)
Hopefully robust platform sensing

plist (1.0.0)
plist parses Mac OS X plist files into ruby data types.

podcast (0.0.4, 0.0.3, 0.0.2)
Create podcasts from MP3 files

posixlock (0.0.1)
Methods to add posix (fcntl based and nfs safe) locking to the
builtin File class

postgres (0.7.1)
The extension library to access a PostgreSQL database from Ruby.

postgres-pr (0.4.0, 0.3.6, 0.3.5, 0.3.4, 0.3.3, 0.3.2, 0.3.1, 0.3.0, 0.2.2, 0.2.1, 0.2.0, 0.1.1, 0.1.0, 0.0.1)
A pure Ruby interface to the PostgreSQL (>= 7.4) database

pqa (0.7, 0.6, 0.5)
SQL query analyzer

precedence (0.8.0, 0.6.0)
A library for the creation manipulation and analysis of precedence
networks.

PrettyException (0.9.5, 0.9.3, 0.9.2, 0.9.1)
PrettyException is a library to output pretty html output for raised
exceptions.

PriorityQueue (0.1.2, 0.1.0)
This is a fibonacci-heap priority-queue implementation

production_log_analyzer (1.3.0, 1.2.1, 1.2.0, 1.1.0)
Extracts statistics from Rails production logs

progressbar (0.0.3)
Ruby/ProgressBar is a text progress bar library for Ruby. It can
indicate progress with percentage, a progress bar, and estimated
remaining time.

ptools (1.0.0)
Extra methods for the File class

puppet (0.9.2)
Puppet is a server configuration management tool.

purplepkg (0.0.6, 0.0.5, 0.0.4, 0.0.3)
A simple pre-packaging tool with meta-package plugin support.

queuehash (0.1.0)
A QueueHash is an ordered hash: Keys are ordered according to when
they were inserted.

r43 (0.3.0, 0.2.0)
A Ruby wrapper for the 43 Things web services API

ragi (1.0.1, 1.0.0)
RAGI allows you to create useful telephony applications using
Asterisk and Ruby [on Rails].

rail_stat_generator (0.1.3, 0.1.1, 0.1.0)
RailStat is a real-time web site statistics package which uses Ruby
on Rails web application framework.

rails (1.0.0, 0.14.4, 0.14.3, 0.14.2, 0.14.1, 0.13.1, 0.13.0, 0.12.1, 0.12.0, 0.11.1, 0.11.0, 0.10.1, 0.10.0, 0.9.5, 0.9.4.1, 0.9.4, 0.9.3, 0.9.2, 0.9.1, 0.9.0, 0.8.5, 0.8.0, 0.7.0, 0.6.5, 0.6.0)
Web-application framework with template engine, control-flow layer,
and ORM.

rails_analyzer_tools (1.1.0, 1.0.0)
Tools for analyzing the performance of web sites.

rails_product (0.6, 0.5)
Creates a ready-to-go productized Ruby on Rails application from a
single command ('rails_product').

RailsEditor (0.0.21)
A screen + vim IDE setup for editing a Rails tree

rake (0.7.0, 0.6.2, 0.6.0, 0.5.4, 0.5.3, 0.5.0, 0.4.15, 0.4.14, 0.4.13, 0.4.12, 0.4.11, 0.4.10, 0.4.9, 0.4.8, 0.4.7, 0.4.6, 0.4.4, 0.4.3, 0.4.2, 0.4.0, 0.3.2)
Ruby based make-like utility.

rakepp (0.0.1)
Cpp Support for Rake.

rami (0.4, 0.3, 0.2, 0.1)
A proxy server/client api for the Asterisk Manager Interface

rant (0.5.4, 0.5.2, 0.5.0, 0.4.8, 0.4.6, 0.4.4, 0.4.2, 0.4.0, 0.3.8, 0.3.6, 0.3.4, 0.3.2, 0.3.0)
Rant is a Ruby based build tool.

rb_cdio (0.2.0, 0.1.1, 0.1.0)
Bindings for libcdio and libcddb: Cross-platform CD-ROM reading and
control

rbeai (1.0.1, 0.0.1)
Simple EAI Engine.

rbibtex (0.1.0, 0.0.2, 0.0.1)
A bibtex parsing library written in pure ruby

rbot (0.9.9)
A modular ruby IRC bot.

rbpm (0.0.3, 0.0.2, 0.0.1)
lightweight (jbpm-like) workflow framework

rcss (0.3.1)
Rcss - CSS Server-side Constants for Ruby/Rails

rdf (0.3)
RubyRDF is a wrapper over the Redland RDF framework

rdf-redland (0.5.1.3, 0.5.1.2, 0.5.1, 0.5)
rdf-redland is a wrapper over the Redland RDF framework

realrand (1.0.2)
Generate real random numbers with Ruby.

reap (2005.10.17, 2005.10.10, 5.10.10, 4.0, 3.01, 0.6.1, 0.5.0, 0.4.0)
Tools for Ruby project testing, management and assistance.

RedCloth (3.0.4, 3.0.3, 3.0.2, 3.0.1, 3.0.0, 2.0.11, 2.0.10, 2.0.9, 2.0.8, 2.0.7, 2.0.6, 2.0.5, 2.0.4, 2.0.3, 2.0.2)
RedCloth is a module for using Textile and Markdown in Ruby. Textile
and Markdown are text formats. A very simple text format. Another
stab at making readable text that can be converted to HTML.



refe (0.8.0.2, 0.8.0.1, 0.8.0.0)
ReFe is yet another command line Ruby Reference Manual browser. It
supports only Japanese.

reference (0.5)
provides reference/pointer functionality of other languages

reg (0.4.6)
The reg pattern matching/replacement language

regexp-engine (0.9, 0.8)
regular expression engine

reliable-msg (1.1.0)
Reliable messaging and persistent queues for building asynchronous
applications in Ruby

revolution (0.5, 0.4, 0.3, 0.2, 0.1)
Revolution is a binding for the Evolution email client

rfs (0.3, 0.2, 0.1)
A utility that allows you to use regular expressions to rename large
sets of files or folders. Fxruby and cmd-line interfaces.

rgl (0.2.3, 0.2.2)
Ruby Graph Library

RGnuchess (0.1.0)
An interface for working with gnuchess, providing some basic chess
tools.

rhizmail (0.1.4, 0.1.3, 0.1.2, 0.1.1, 0.1.0)
RhizMail is a test-friendly library for sending out customized
emails.

ri18n (0.0.3, 0.0.2)
Ruby application internationalization and localization library

ribit (0.3.0)
Ribit - Wiki for Mobiles

rio (0.3.4, 0.3.3, 0.3.2, 0.3.1)
Rio - Ruby I/O Comfort Class

ritex (0.1)
WebTeX to MathML conversion library.

rlirc (0.3.1, 0.3, 0.2, 0.1)
a replacement for irexec and irxevent from lirc

rmagick (1.9.3, 1.9.2, 1.9.1, 1.9.0, 1.8.3, 1.8.2, 1.8.1, 1.8.0, 1.7.4, 1.7.3, 1.7.2, 1.7.1)
RMagick is an interface between the Ruby programming language and
the ImageMagick and GraphicsMagick image processing libraries.

rmail (0.17)
This is RubyMail, a lightweight mail library containing various
utility classes and modules that allow Ruby scripts to parse,
modify, and generate MIME mail messages.

rmarc (0.2.0, 0.1.1)
RMARC is a library for working with MARC and MARC XML data in Ruby

Rodo (1.1)
Rodo attempts to help user organizes his ToDo files.

rook (0.0.2, 0.0.1)
a SCM tool like Make, Rake, Ant, and so on.

rools (0.1.4)
A Rules Engine written in Ruby

ropenlaszlo (0.4.0, 0.3.0, 0.2.0)
Ruby interface to OpenLaszlo.

rote (0.3.2.2, 0.3.2, 0.3.0.2, 0.3.0, 0.2.4.1, 0.2.4, 0.2.2, 0.2.0, 0.1.6)
Adds template-based doc support to Rake.

rq (0.1.7)
rq is an __experimental__ tool used to manage nfs mounted work
queues

rrename (0.3.0, 0.2.0)
A GNOME2 based tool for interactively renameing files with regular
expressions.


rrt_ruby (0.3.1, 0.3.0, 0.2.1)
rrt_ruby is a Ruby library providing access to Rose RealTime models
through RRTEI

rscm (0.4.0, 0.3.16, 0.3.15, 0.3.14, 0.3.13, 0.3.12, 0.3.11, 0.3.10, 0.3.9, 0.3.8, 0.3.7, 0.3.6, 0.3.5, 0.3.4, 0.3.3, 0.3.2, 0.3.1, 0.3.0, 0.2.1.1404, 0.2.0, 0.1.0.1338, 0.1.0.1337, 0.1.0.999, 0.1.0)
RSCM - Ruby Source Control Management

rscm-accurev (0.0.7, 0.0.6, 0.0.4, 0.0.3, 0.0.2, 0.0.1, 0.0)
RSCM::Accurev - RSCM API for Accurev

rsi (0.4)
RSI (Ruby Simple Indexer) is a simple full text index

rspec (0.3.2, 0.3.1, 0.3.0, 0.2.0, 0.1.7, 0.1.6, 0.1.5, 0.1.4, 0.1.3, 0.1.2, 0.1.1, 0.1.0)
Behaviour Specification Framework for Ruby

rstyx (0.2.0)
RStyx is an implementation of the Styx/9P2000 distributed filesystem
protocol for Ruby.

rsyncmanager (1.1)
RsyncManager is a daemon for controlling and monitoring rsync
transfers

rtaglib (0.1.1, 0.1.0)
Bindings for taglib

rtf (0.1.0)
Ruby library to create rich text format documents.

Rubilicious (0.1.5, 0.1.4, 0.1.2, 0.1.0)
Delicious (http://del.icio.us/) bindings for Ruby.

rubinium (0.1.1)
Code generator for Selenium with test validation

rublog (0.8.0)
RubLog is a simple web log, based around the idea of displaying a
set of regular files in a log-format.

ruby-activeldap (0.6.0, 0.5.9, 0.5.8, 0.5.7, 0.5.5, 0.5.4, 0.5.3, 0.5.2, 0.5.1, 0.5.0, 0.4.4, 0.4.3, 0.4.2, 0.4.1)
Ruby/ActiveLDAP is a object-oriented API to LDAP

ruby-activeldap-debug (0.6.0, 0.5.9, 0.5.8, 0.5.7, 0.5.6, 0.5.5)
Ruby/ActiveLDAP is a object-oriented API to LDAP

ruby-agi (1.1.0, 1.0.2)
Ruby Language API for Asterisk

ruby-ajp (0.1.5)
An implementation of Apache Jserv Protocol 1.3 in Ruby

ruby-breakpoint (0.5.0)
ruby-breakpoint lets you inspect and modify state at run time.

ruby-cache (0.3.0)
Ruby/Cache is a library for caching objects based on the LRU
algorithm for Ruby.

ruby-contract (0.1.1)
ruby-contract provides support for describing and using types via
unit-tests.

ruby-doom (0.8)
Ruby-DOOM provides a scripting API for creating DOOM maps. It also
provides higher-level APIs to make map creation easier.

ruby-gdchart (1.0.0)
A Ruby wrapper around Bruce Verderaime's GDChart chart-drawing
utility. (Note: The C library that this gem wraps is included, but
requires the installation of gd-2.0.28 or higher.)

ruby-growl (1.0.1, 1.0.0)
Pure-Ruby Growl Notifier

ruby-json (1.1.1)
ruby-json is a library for using the JavaScript Object Notation

(JSON) under Ruby.

ruby-managesieve (0.2.0, 0.1.0)
A Ruby library for the MANAGESIEVE protocol

Ruby-MemCache (0.0.1)
This is a client library for memcached, a high-performance
distributed memory cache.

ruby-mp3info (0.4)
ruby-mp3info is a pure-ruby library that gives low level
informations on mp3 files

ruby-postgres (0.7.1.2005.12.21, 0.7.1.2005.12.20, 0.7.1.2005.11.27, 0.7.1.2005.11.24)
Ruby extension library providing an API to PostgreSQL

ruby-web (1.1.1)
Web libraries for ruby

ruby_ex (0.3.0, 0.2.0, 0.1.2, 0.1.1)
RubyEx contains general purpose Ruby extensions.

ruby_odeum (0.2.1)
Ruby/Odeum is a simple full text reverse indexer that lets you index
a set of files and then search through them very quickly.

rubyacl (1.0)
Library for handling ACL's

rubyforge (0.0.1, 0.0.0)
rubyforge

rubyful_soup (1.0.3, 1.0.2, 1.0.1)
An HTML/XML parser that handles bad markup and provides tree
traversal methods.

rubygems-update (0.8.11, 0.8.10, 0.8.8, 0.8.6, 0.8.5, 0.8.4, 0.8.3, 0.8.1, 0.8.0)
RubyGems Update GEM


RubyInline (3.4.0, 3.3.2, 3.3.1, 3.3.0, 3.2.1, 3.2.0, 3.1.0)
Multi-language extension coding within ruby.

RubyJDWP (0.0.1)
Ruby implementation of the Java Debug Wire Protocol. This version is
pre-alpha.

rubylexer (0.6.2)
lexer of ruby in ruby

rubypants (0.2.0)
RubyPants is a Ruby port of the smart-quotes library SmartyPants.

rubyscript2exe (0.4.0, 0.3.6, 0.3.5, 0.3.4, 0.3.3)
A Ruby Compiler

rubySelenium (0.0.8)
rubySelenium is a wrapper around Selenium that generates the
FitRunner style HTML on the fly so you can write selenium scripts
programmatically.

rubyslippers (1.03, 1.02, 1.01, 1.00, 0.99, 0.98, 0.97, 0.96, 0.95, 0.94, 0.93, 0.92)
RubySlippers is a GUI wrapper for RubyGems using RubyWebDialogs.

rubystats (0.1.1, 0.1.0)
Classes for statistical calculations, e.g., binomial, beta, and
normal distributions with PDF, CDF and inverse CDF (all ported from
PHPMath) as well as Fisher's Exact Test

RubyToC (1.0.0.4)
Ruby (subset) to C translator.

rubytree (0.2.2)
Ruby implementation of the Tree data structure.

rubywebdialogs (0.2.0)
The Web Browser as a Graphical User Interface for Ruby Applications

rubyzip (0.5.12, 0.5.11, 0.5.9, 0.5.8, 0.5.7, 0.5.5)
rubyzip is a ruby module for reading and writing zip files

RuCodeGen (0.1.0)
Simple code generation tool

runt (0.3.0, 0.2.0)
Ruby Temporal Expressions.

ruport (0.2.9, 0.2.5, 0.2.4, 0.2.2, 0.2.0, 0.1.0)
A generalized Ruby report generation and templating engine.

rutils (0.1.4, 0.1.3, 0.1.2, 0.1.1, 0.1.0, 0.0.4, 0.0.3)
Simple processing of russian strings

ruvi (0.4.12, 0.4.11, 0.4.10, 0.4.9, 0.4.8, 0.4.7)
Pure Ruby Vim-wannabe

ruwiki (0.9.3, 0.9.2, 0.9.1, 0.9.0)
A simple, extensible, and fast Wiki-clone.

rvsh (0.4.5)
VIM clone

rwb (0.2.1)
Ruby Web Bench, a web performance and load testing framework

rwdaddresses (1.03, 1.02, 1.01, 0.99, 0.98, 0.97, 0.95, 0.94, 0.93, 0.92, 0.91, 0.9, 0.8)
rwdaddresses is contact book application using rwdtinker and
RubyWebDialogs.

rwddemo (0.92, 0.91, 0.90, 0.8, 0.7, 0.6)
rwddemo application shows rwdtinker and RubyWebDialogs features.

rwdgutenberg (0.07, 0.06, 0.05, 0.04, 0.03)
rwdgutenberg application is a text file reader for RubyWebDialogs.

rwdhypernote (0.10, 0.09, 0.08, 0.07, 0.06, 0.05, 0.04, 0.03)
rwdhypernote application is a hierarchical note taker for
RubyWebDialogs.


rwdmovies (0.95, 0.94, 0.93, 0.92, 0.91, 0.90, 0.7, 0.6)
rwdmovies application is a movie database using RubyWebDialogs.

rwdschedule (1.02, 1.01, 1.00, 0.99, 0.98, 0.97, 0.96, 0.95, 0.94, 0.93, 0.92, 0.91, 0.9, 0.8, 0.6, 0.5)
rwdschedule is an calendar application using rwdtinker and
RubyWebDialogs.

rwdshell (1.00, 0.99, 0.98, 0.97, 0.96, 0.95, 0.94, 0.93, 0.92, 0.9)
rwdshell is a GUI front end for operating system commands with
rwdtinker and RubyWebDialogs features.

rwdtinker (1.67, 1.66, 1.65, 1.64, 1.63, 1.62, 1.61, 1.60, 1.59, 1.58, 1.57, 1.56, 1.55, 1.54, 1.53, 1.52, 1.51, 1.48, 1.47, 1.46, 1.45, 1.44, 1.43, 1.42, 1.41, 1.24, 1.23, 1.4, 1.3, 1.2)
rwdtinker application is a framework to program for RubyWebDialogs.

rwdtorrent (0.04, 0.03, 0.02, 0.01)
rwdtorrent is a GUI front end for BitTorrent with rwdtinker and
RubyWebDialogs features.

rwdziparubyslippers (0.99)
rubyslippers is frontend for the RubyGems system using rwdtinker and
RubyWebDialogs. Requires rwdtinker >1.51

rwdziprwdanimatedgifs (0.70)
rwdziprwdanimatedgifs is a animated gifs viewer using rwdtinker and
RubyWebDialogs. Requires rwdtinker >1.51

rwdziprwdaschedule (1.02, 1.00, 0.97, 0.93)
rwdziprwdwschedule is a event schedule application using rwdtinker
and RubyWebDialogs. Requires rwdtinker >1.51

rwdziprwdmp3 (0.02)
rwdziprwdmp3 is a Mp3 Player Control application using rwdtinker and
RubyWebDialogs. Requires rwdtinker >1.51

rwdziprwdwaddresses (1.04, 1.00, 0.99, 0.97)
rwdaddresses is a Contact Book using rwdtinker and RubyWebDialogs.
Requires rwdtinker >1.56

rwdziprwdwcalc (0.50)
rwdcalc is calculator using rwdtinker and RubyWebDialogs.


rwdziprwdwgutenberg (0.03)
rwdgutenberg application is a text file reader for RubyWebDialogs.

rwdziprwdwhypernote (0.07, 0.04)
rwdziprwdwhypernote is a hierarchical note editor using rwdtinker
and RubyWebDialogs. Requires rwdtinker >1.51

rwdziprwdwmovies (0.90)
rwdziprwdwmovies is a DVD and Video database application using
rwdtinker and RubyWebDialogs. Requires rwdtinker >1.51

rwdziprwdwrefreshacpi (0.5)
rwdziprwdwrefreshacpi is a Linux log reading application using
rwdtinker and RubyWebDialogs. Requires rwdtinker >1.51

rwdziprwdwshell (0.96, 0.95)
rwdziprwdaschedule is a event schedule application using rwdtinker
and RubyWebDialogs. Requires rwdtinker >1.51

rwdziprwdwwords (0.02)
rwdwords is a Dictonary lookup tool using rwdtinker and
RubyWebDialogs. Requires rwdtinker >1.56

salted_login_generator (1.1.1, 1.1.0, 1.0.9, 1.0.8, 1.0.7, 1.0.6, 1.0.5, 1.0.4, 1.0.3, 1.0.2, 1.0.1)
[Rails] Login generator with salted passwords.

schema_generator (1.0.2, 1.0.1, 1.0.0, 0.9.0, 0.2.0, 0.1.0)
The rails schema generator generates complete SQL schemas from a
collection of rails migrations. It currently produces one schema
file each for MySQL, PostgreSQL, and SQLite.

Schmock (0.9)
Simple mock objects

Scratch (1.1, 1.0)
Excessively minimalist weblog.

sds (0.3, 0.2)
SDS is a database access and O/R mapping library

search_generator (0.5.1, 0.5, 0.4)
[Rails] Search generator.

selenium (0.2.468)
Selenium is a test tool for web applications. Note that this is an
unofficial build of Selenium based on changeset 468 from the
Selenium subversion repository.

sentry (0.3.1, 0.3, 0.2.9, 0.2.8)
Sentry provides painless encryption services with a wrapper around
some OpenSSL classes

session (2.4.0, 2.1.9)
session

shipping (1.3.0, 1.2.1, 1.2.0, 1.1.0, 1.0.0)
A general shipping module to find out the shipping prices via UPS or
FedEx.

shorturl (0.8.2, 0.8.1, 0.8.0, 0.7.0, 0.6.0, 0.5.0, 0.4.0, 0.3.0, 0.2.1, 0.2.0, 0.1.0, 0.0.1)
Shortens URLs using services such as TinyURL and RubyURL

silhouette (1.0.0)
A 2 stage profiler

simple-rss (1.0.0)
A simple, flexible, extensible, and liberal RSS and Atom reader for
Ruby. It is designed to be backwards compatible with the standard
RSS parser, but will never do RSS generation.

SimpleSearch (0.5.0)
SimpleSearch is a simple vector space text search engine.

SimpleTrace (0.0.1)
This module implements a simple tracing/logging scheme

site_generator (0.6, 0.5)
Generates a Rails site in conjunction with the rails_product gem.

smagacor (0.0.1)
A collection of small games in ruby


snmp (0.6.0, 0.5.1, 0.5.0, 0.4.1, 0.4.0, 0.3.0, 0.2.0, 0.1.0)
A Ruby implementation of SNMP (the Simple Network Management
Protocol).

Soks (1.0.3, 1.0.2, 1.0.1, 1.0.0, 0.0.7, 0.0.6, 0.0.5, 0.0.4, 0.0.3, 0.0.2)
Yet another wiki.

sparklines (0.2.6, 0.2.5, 0.2.4, 0.2.3, 0.2.2, 0.2.1)
Tiny graphs for concise data.

sparklines_generator (0.2.2, 0.2.1)
Sparklines generator makes a Rails controller and helper for making
small graphs in your web pages. See examples at
http://nubyonrails.topfunky.com

sql_dep_graph (1.0.0)
Graphs table dependencies based on usage from SQL logs

SQLDependencyGrapher (1.0.0)
Graphs table dependencies based on usage from SQL logs

sqliki (0.0.4, 0.0.3)
[Rails] SQL-based wiki generator.

sqliki_generator (0.0.4, 0.0.2, 0.0.1)
[Rails] SQL-based wiki generator.

sqlite (2.0.1, 2.0.0, 1.3.1, 1.3.0, 1.2.9.1, 1.2.0, 1.1.3, 1.1.2, 1.1.1, 1.1)
SQLite/Ruby is a module to allow Ruby scripts to interface with a
SQLite database. VERSIONS >=2.0.0 ARE BETA RELEASES. THEY ARE
INTENDED FOR TESTING ONLY, AND SHOULD NOT BE CONSIDERED
PRODUCTION-WORTHY YET.

sqlite-ruby (2.2.3, 2.2.2, 2.2.1, 2.2.0, 2.1.0, 2.0.3, 2.0.2)
SQLite/Ruby is a module to allow Ruby scripts to interface with a
SQLite database.

sqlite3-ruby (1.1.0, 1.0.1, 1.0.0, 0.9.0, 0.6.0, 0.5.0)
SQLite3/Ruby is a module to allow Ruby scripts to interface with a
SQLite database.



sstruct (1.0.1)
SuperStruct class: Best of Struct, OpenStruct, Array, Hash, etc.

staticweb (0.2.0)
Staticweb is a command line static webpage generation tool

statistics (2001.2.28)
module Math::Statistics provides common statistical functions

stemmer (1.0.1, 1.0.0)
Word stemming algorithm(s)

stemmer4r (0.6, 0.5, 0.4, 0.3, 0.2, 0.1)
Stemmer4r is a Ruby extension that wraps the snowball stemmer
library (libstemmer).

stomp (1.0.1, 1.0.0)
Ruby client for the Stomp messaging protocol

stream (0.5)
Stream - Extended External Iterators

substitution_solver (0.5.1, 0.5.0)
Program for solving mono-alphabetic simple substitution ciphers, (as
in cryptoquotes), without word lengths.

SwedishTV (0.0.3, 0.0.2)
Shows Swedish TV channel schedules in web browser.

sweph4ruby (0.0.1)
An astrology library

swin (2004.03.14)
Swin is a Ruby native extension that interfaces to the Win32
graphics API

switchtower (0.10.0, 0.9.0)
SwitchTower is a framework and utility for executing commands in
parallel on multiple remote machines, via SSH. The primary goal
is to simplify and automate the deployment of web applications.


sws (0.3, 0.2.1)
SWS is a sophisticated web development library in spirit of Apple
WebObjects

Syndic8-Ruby (0.2.0)
Syndic8 (http://www.syndic8.com/) bindings for Ruby.

syndication (0.5.0, 0.4.0)
A web syndication parser for Atom and RSS with a uniform API

syntax (1.0.0, 0.7.0, 0.5.0)
Syntax is Ruby library for performing simple syntax highlighting.

syntaxi (0.5.0)
Syntaxi formats code blocks in text (line number, line wrap, syntax
color)

table (0.1.1)
Rails Table Generator

table_generator (0.1.2, 0.1.1)
Rails Table Generator

tagtools (0.0.3, 0.0.2, 0.0.1)
Folksonomy system for Rails.

tar2rubyscript (0.4.7, 0.4.6, 0.4.5)
A Tool for Distributing Ruby Applications

Technorati-Ruby (0.1.0)
Technorati(http://technorati.com/) bindings for Ruby.

TeleAuth (0.5)
Ruby library for the TeleAuth authentication system. Requires a
TeleAuth API key.

term-ansicolor (1.0.2, 1.0.1, 1.0.0, 0.0.4)
Ruby library that colors strings using ANSI escape sequences

termios (0.9.4)
Termios module are simple wrapper for termios(3). It can be included
into IO-family classes and can extend IO-family objects. In
addition, the methods can use as module function.

test-unit-mock (0.30)
Test::Unit::Mock is a class for conveniently building mock objects
in Test::Unit test cases.

testunitxml (0.1.3)
Unit test suite for XML documents

tex-hyphen (0.5.0, 0.4.0)
Hyphenates a word according to a TeX pattern file.

text-format (1.0.0)
Text::Format formats fixed-width text nicely.

text-highlight (1.0.2)
A Ruby module for highlighting text, using ANSI escape sequences or
HTML.

text-hyphen (1.0.0)
Multilingual word hyphenation according to modified TeX hyphenation
pattern files.

text-reform (0.2.0)
Text::Reform reformats text according to formatting pictures.

textamerica (0.1)
A Ruby API for interacting with TextAmerica.com

theme_generator (1.3.0, 1.2.2, 1.2.1, 1.2.0, 1.1.1, 1.1.0)
[Rails] Theme generator adds support for themes into Rails
applications

tidy (1.1.2, 1.1.1, 1.1.0, 1.0.1, 1.0.0)
Ruby interface to HTML Tidy Library Project

tkregreplace (0.1.1, 0.1.0)
TK program which visualizes and caries out regular expression
matches and or replacements on text files

traits (0.9.0, 0.8.1, 0.8.0)
traits

transaction-simple (1.3.0, 1.2.0)
Simple object transaction support for Ruby.

tree (0.2.1)
Ruby implementation of the Tree data structure.

trestle_generator (1.0.1, 1.0.0)
[Rails] A drop-in replacement for the scaffold generator that
produces production-ready controllers that are safe from
state-changing HTTP GET requests and that have streamlined URLs.

trie (0.0.1)
Implemention of a trie data structure

trimurti (0.1)
Applications that assemble themselves, plugins

tRuTag (0.5.0)
A tag aggregator (taggregator) for personal or web use.

tsql_shparser (0.0.1)
tsql_shparser is a Shallow Parser for t-SQL (which is the procedural
language for MS SQL Server 2000).

ttk (0.2.1, 0.2.0, 0.1.580, 0.1.579, 0.1.576)
TTK is an extensible framework for dynamic testing.

turing (0.0.9)
Another implementation of captcha (http://captcha.net/)

tzinfo (0.1.1, 0.1.0, 0.0.4, 0.0.3, 0.0.2, 0.0.1)
Daylight-savings aware timezone library

uformatparser (1.0.1, 1.0.0)
Microformat parser for extracting microcontent from (X)HTML

unicode (0.1)
Unicode normalization library.

units (1.0.1, 1.0.0)
A general way to add units and conversion ability to numbers in
Ruby.

urirequire (0.1.0)
urirequire hijacks Kernel.require to download and eval Ruby code
somewhere else on the internets.

usage (0.0.4, 0.0.3)
This module implements a simple no thought command line option
parser

Usage (0.0.2, 0.0.1)
This module implements a simple no thought command line option
parser

uscommerce (0.1.0)
UsCommerce contains a few handy methods for handling business
functions specific to the United States.

use (1.1.0, 1.0.0)
Selectively mixin methods from a given module

uuid (1.0.0)
UUID generator

uuidtools (0.1.4, 0.1.3, 0.1.2, 0.1.1, 0.1.0)
Generation of UUIDs.

vcs (0.4.1, 0.4.0, 0.3.0, 0.2.148, 0.1)
A wrapper over Version Control Systems

vim-ruby (2005.10.07, 2005.10.05, 2005.09.15, 2004.09.20)
Ruby configuration files for Vim. Run 'vim-ruby-install.rb' to
complete installation.


VRTools (0.0.1)
This module implements extensions to the VRuby/Swin libraries

vruby (2004.08.07)
VRuby is a set of vr* series of ruby scripts which wrap swin.

w3mrefe (1.0.0)
an interface to the on-line ruby reference manuals by w3m and refe.

watir (1.4.1)
Automated testing tool for web applications.

webgen (0.3.8, 0.3.6, 0.3.5, 0.3.4, 0.3.3, 0.3.2, 0.3.1, 0.3.0, 0.2.0, 0.1.0)
Webgen is a templated based static website generator.

webrick-webdav (1.0)
WebDAV handler for WEBrick, Ruby's HTTP toolkit.

wee (0.10.0, 0.9.1, 0.9.0, 0.8.0, 0.7.0, 0.6.0, 0.5.0, 0.4.0, 0.3.1, 0.1.0)
Wee is a framework for building highly dynamic web applications.

weft-qda (0.9.8, 0.9.6)
GUI Qualitative Data Analysis Tool.

wet-winobj (0.1)
Ruby library for Win32 objects

Wiki2Go (1.17.1, 1.17.0, 1.16.1, 1.16.0, 1.15.1, 1.15.0, 1.14.4, 1.14.3, 1.14.1, 1.14.0)
Wiki2Go is a Ruby Wiki

win32-sapi (0.1.3, 0.1.2)
An interface to the MS SAPI (Sound API) library.

wxrubylayouts (0.0.3, 0.0.2, 0.0.1)
wxrubylayouts is a library of layout managers for wxRuby

x10-cm17a (1.0.1, 1.0.0, 0.9.0)
Ruby based X10 CM17A Firecracker Controller

xampl (0.1.0)
xampl

xampl-generator (0.1.0)
xampl code generator

XDCC-Fetch (1.409, 1.386)
XDCC-Fetch, written entirely in Ruby, is an intuitive, no-nonsense
tool for searching, collecting and downloading XDCC announcements
within IRC channels. XDCC-Fetch is released under the BSD license
and available for free.

xforge (0.4.0, 0.3.5, 0.3.4, 0.3.3, 0.3.2, 0.3.1, 0.2.1, 0.2.0, 0.1.9, 0.1.8, 0.1.7, 0.1.6, 0.1.5, 0.1.4, 0.1.3, 0.1.2, 0.1.1, 0.1)
Ruby based make-like utility.

xhtmldiff (1.0.0)
XHTMLDiff is a tool and library for taking valid XHTML documents as
input, and generating redlined valid XHTML text highlighting the
changes between them as output.

xiacc (0.1)
A Compiler-Compiler

xml-mapping (0.8.1, 0.8)
An easy to use, extensible library for mapping Ruby objects to XML
and back. Includes an XPath interpreter.

xml-simple (1.0.7)
A very simple API for XML processing.

xmlelements (0.1.2, 0.1.1)
Strange Xml-Api.

xmlresume2x (0.2.1, 0.2.0)
Converts an xml resume to various output formats

xmltv2html (0.5.5, 0.5.4, 0.5.3)
xmltv2html generates a HTML page from the output of XMLTV.

XMMS-Ruby (0.1.2)
XMMS bindings for Ruby.

yax (0.1)
YAX: Yet Another eXpect (chock-full of Ruby goodness)

yip (0.8.2)
Adds interpolation to YAML; primarily for use in configuration files

ZenHacks (1.0.1, 1.0.0)
Tools and toys of mine that don't have a better home.


To install rails

gem install rails

How to get a collection?

The following code will get a collection from the database.
def edit
@site = Site.find(@params["id"])
@tags = Tag.find_all
end

Thursday, January 19, 2006

Cannot instantiate constant

If you get this error then most likely the reason is that you don't have the model class created.

Create it with a command like:
ruby script/generate model Site

The single-table inheritance mechanism failed to locate the subclass

Today I was working on creating my first Ruby on Rails application when I ran into this error:

The single-table inheritance mechanism failed to locate the subclass:
'Community Blog'. This error is raised because the column 'type' is reserved for storing the class in case of inheritance. Please rename this column if you didn't intend it to be used for storing the inheritance class or overwrite Site.inheritance_column to use another column for that information.



Apparently the reason for the error is specified within the error. The error is being caused because one of my columns in the table was named type. Now I had two options, either to rename the column or to "overwrite Site.inheritance_column to use another column for that information"

You can guess what I did. That's right, I simply renamed my column.

Frank

eXTReMe Tracker