AlPersistをベースにモデルクラスを生成

モデルは、状態を保存するケースが非常に多いですが、そういった場合、AlPersistがもつCRUDを継承すると素早く実装できます。

SQLiteを使う例

require "al_persist_sqlite"
 
class MyModel < AlPersistSqlite
  DSN = "/PATH/TO/DBFILE"
 
  def initialize()
    super( AlRdbw.connect(DSN), "table_name", "primary_key" )    # 保存するテーブルとそのpkeyを指定する
  end
end

プライマリキーが複数ある場合は、配列で渡すことで実現可能です。

MyModelクラスは、親クラスからCRUDの機能(メソッド)を引き継いでいます。

@model = MyModel.new()
@model.create({:name=>"Edo", :phone=>"12-3456"})
 
@model.read({:id=>1234})
@model[:phone] = "32-2323"
@model.update()
 
@model.delete({:id=>4567})