+1 for sequel


---- Joel VanderWerf <joelvanderwerf / gmail.com> wrote: 
> On 11/16/2011 02:58 PM, Aaron D. Gifford wrote:
> > I've been looking at Pry to enhance my irb CLI experience and blend a
> > bit of shell-like CLI in as well.  Is there a database module along
> > the lines of Pry I could use to also integrate a MySQL CLI as well?
> > I'd love to use Ruby as my system CLI shell and MySQL CLI
> > simultaneously... *drool*
> 
> Check out sequel[1] -- nice CLI as well as API:
> 
> $ sequel sqlite:/
> Your database is stored in DB...
>  >> DB
> => #<Sequel::SQLite::Database: "sqlite:/">
>  >> mac_array = [1,2,3]
> => [1, 2, 3]
>  >> DB[:authorized_macs].filter(:device_id => 123).exclude(:mac => 
> mac_array)
> => #<Sequel::SQLite::Dataset: "SELECT * FROM `authorized_macs` WHERE 
> ((`device_id` = 123) AND (`mac` NOT IN (1, 2, 3)))">
> 
> (works with other dbs besides sqlite, of course; and you can get all 
> this functionality in irb just by requiring sequel)
> 
> [1] http://sequel.rubyforge.org/
>