RDB(リレーショナルデータベース)への接続をラップして、RDBの種類からコードを独立させます。(※)
接続そのものは、ドライバモジュール(gem)を別途インストールする必要があります。
SQLヘルパーメソッドを用いて、SQLの不便な点をある程度覆い隠します。
RDBサーバーへの接続は実際に必要になったときまで遅延され、また、複数の接続はまとめられます(シングルトン)
※ただし、RDBからの独立も程度問題であり、RDB固有の長所が使えないためにアプリケーション側に負担がかかるようなら、むしろ積極的にRDB依存を使うべきだと考えています。
SQLiteの例です。あらかじめ、gemでsqlite3ライブラリをインストールしておきます。
DSN = "/PATH/TO/FILE" require "al_rdbw_sqlite" db = AlRdbw.connect( DSN ) res = db.select( "select * from t1;" )