<p>DataMapperパターンのRuby実装。RDB、KVS、NoSQL系DBをサポートしてて、1.0.0なので結構枯れてる。 <p>調べる必要があったヤツだけをメモ。</p> <h3>スラッグ型(URLの中で使える文字列)</h3> <p>String型のサブクラスだから安心。</p> <pre class="prettyprint"><code>require 'dm-types' Class Post include DataMapper::Resource property :slug, Slug end</code></pre> <h3>デフォルトスコープ</h3> <pre class="prettyprint"><code>Class Post include DataMapper::Resource property :id, Serial default_scope(:default).update(:order =&gt; [:id.desc]) end</code></pre> <h3>手抜き全文検索</h3> <pre class="prettyprint"><code>Class Post include DataMapper::Resource property :id, Serial property :title, String property :body, Text def self.search(str) all(:title.like =&gt; "%#{str}%") | all(:body.like =&gt; "%#{str}%") end end</code></pre> <pre class="prettyprint"><code>Post.search('unk').all(:limit => 5)</code></pre> <p>「でたー!クラウザーさんのLIKE '%foo%'だー!」</p> <p>真面目にやるならdm-is-searchableでインデックスを別のストレージ(DM用語ではrepository)に保存する。</p>

Comments


Option