I’m pleased to announce that Sequel version 1.0 has just been
released. Sequel is a lightweight database access and ORM library for
Ruby. Sequel provides thread safety, connection pooling and a simple
and expressive API for constructing database queries and table
This milestone release separates Sequel into two separate libraries:
sequel_core and sequel_model. Also new in this release are refactored
model hooks (callbacks), a few minor bug fixes, and 100% code
coverage! To update your sequel gem execute the following command:
sudo gem update sequel
Following is a discussion of the main changes:
=== New code organization
Sequel is now divided into two parts: sequel_core and sequel_model.
These two parts are distributed as two separate gems. The sequel gem
bundles sequel_core and sequel_model together. If you don’t use
Sequel::Model in your code, you can just install and use sequel_core.
=== New model hooks implementation
The hooks implementation have been rewritten from scratch, is much
more robust and offers a few new features:
More ways to define hooks: hooks can now be defined by supplying a
block or a method name, or by overriding the hook instance method.
Inheritable hooks: Hooks can now be inherited, which means that you
can define general hooks in a model superclass, and use them in
subclasses. You can also define global hooks on Sequel::Model that
will be invoked for all model classes.
Hook chains can be broken by returning false from within the hook.
New after_initialize hook, invoked after instance initialization.
The hook invocation order can no longer be changed. Hooks are
invoked in order of definition, from the top of the class hierarchy
(that is, from Sequel::Model) down to the specific class.
Removed deprecated adapter stubs, and all other deprecations in both
sequel_core and sequel_model.
Fixed String#to_time to raise error correctly for invalid time
Fixed error behavior when parse_tree or ruby2ruby are not available.
=== More info on Sequel
Sequel project page:
Join the Sequel-talk group:
Join Sequel discussion on IRC at #sequel.
Install the gem:
sudo gem install sequel
Or check out the source and install manually:
svn co http://ruby-sequel.googlecode.com/svn/trunk sequel