# Nitro + Og 0.28.0: Cacheable, Ruby Query Language, Mongrel,

**URL:** <https://www.ruby-forum.com/t/nitro-og-0-28-0-cacheable-ruby-query-language-mongrel/101623>\
**Category:** Ruby\
**Created:** [February 6, 2006, 7:19pm UTC](https://www.ruby-forum.com/t/nitro-og-0-28-0-cacheable-ruby-query-language-mongrel/101623 "2006-02-06T19:19:52Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![gmichelson](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/db5fbb/32.png) [@gmichelson](https://www.ruby-forum.com/u/gmichelson)\
**Post date:** [February 6, 2006, 7:19pm UTC](https://www.ruby-forum.com/t/nitro-og-0-28-0-cacheable-ruby-query-language-mongrel/101623/1 "2006-02-06T19:19:52Z")

</div>

Dear devs,

new versions of Nitro and Og where just released

homepage: [http://www.nitrohq.com](http://www.nitrohq.com)  
install: gem install nitro  
download: [http://rubyforge.org/projects/nitro/](http://rubyforge.org/projects/nitro/)  
irc: [irc.freenode.net](http://irc.freenode.net) #nitro  
mailing list: [http://rubyforge.org/pipermail/nitro-general/](http://rubyforge.org/pipermail/nitro-general/)

Whats new:

A snapshot of the latest developments. As always, cool new  
features were added, the code is refactored, the security increased  
and reported bugs fixed.

Most notable changes:

- New generalized caching system. The caching code is refactored  
in a new Glue system. At the moment, caches in memory, DRb,  
filesystem and Og are provided. A memcache version will be available  
in the near future. The new caching system is used to implement  
Session stores, Og caching, Fragment caching, and Application scoped  
parameters. A useful DRb cache management script is provided to  
manage multiple DRb caches.

- Introduced a new Og Cacheable mixin. By including this mixin  
in your classes you make them eligible to Og caching. Here comes  
an example:

class User  
is Cachable  
property :name, String  
property :age, Fixnum  
end

Cacheable reuses the new generalized caching system to provide  
various options for distributed caching. At the moment entities  
(instances of managed classes) are cached by their primary key.

- Og now advanced quering using Ruby as the data query language  
to complement the usage of Ruby as a data definition language  
and provide an end-to-end Ruby solution. At the moment only  
supported for the SQL based adapters. Here comes an example:

‘George’ OR oguser.name = ‘Stella’))

This feature uses the Caboose/EZ code by Ezra Z…  
Pure magic!

- Og find now supports prepared statement like syntax:

The interpolated values are automatically escaped to avoid  
SQL injection attacks.

Some additional forms of find are supported:

User.find [[‘name = ? and create\_time \> ?’, ‘gmosx’, Time.now]  
User.find “name = ‘gmosx’”

and more.

- Added experimental support for deep copying (cloning) of Og  
managed objects. This mechanism handles properties (annotated  
attributes) and some relation types.

- Integration of Facets 1.0.1. The new library features a better  
API and better implementation of various features.

- Introduced experimental Mongrel adapter, just use:

- Fixes in the SCGI/FCGI adapters.

- Added schema evolution support to the SQLite adapter. All major  
Og adapter support automatic schema evolution, ie Og detects common  
types of changes in your Ruby code to automatically alter the  
underlying schema for you.

- Introduced Og SQLite2 (legacy SQLite) adapter.

- Added more test cases, and improved RDoc comments throughout  
the code.

- Many, many bug fixes.

Nitro provides everything you need to develop professional Web  
applications using Ruby and Javascript. Nitro redefines Rapid  
Application Development by providing a clean, yet efficient API,  
a layer of domain specific languages implemented on top of  
Ruby and the most powerful and elegant object relational  
mapping solution available everywhere.

have fun,  
George M. + Nitro Development Team
