DataMapper property 

こんばんは。麺処まつば副店長です。
なんか知らんですが、目がかゆいです。
…と店長に訴えたら「ギガもあるのか」と言われました。エクサ目指して頑張ります。

さて、前回、DataMapper に挑戦したので、
それについてもう少し調べてみようと思います。
今回のターゲットは「property」です。

本家 API ページの Property から(副店長が)使いそうな情報だけ引っこ抜いてきました。
抜粋したものを簡単に並べてみます。
本家APIはコチラ→http://rubydoc.info/gems/dm-core/1.1.0/frames

property 定義の方法

 property :[プロパティ名], [型], :[オプション]

デフォルトで使える型

Boolean
Class (datastore primitive is the same as String. Used for Inheritance)
Date
DateTime
Decimal
Float
Integer
Object (marshalled out during serialization)
String (default length is 50)
Text (limit of 65k characters by default)
Time

オプション

プロパティに指定できるオプション

オプション 意味
:accessor accessor の設定。falseでreader + writer が作られない
:reader reader の設定。false で、reader が作られない
:writer writer の設定。false で writer が作られない
:lazy 遅延読み込み。false で設定解除。group指定もできる。
:default デフォルト値の設定
:allow_nil nil を許可するかどうか。true で許可。
:key キーの設定
:field フィールド(カラム名
:length 文字列の長さ設定。
:format autovalidationのフォーマット設定。dm-validations使う時
:index index の設定。trueにするとindex が作られる。
:unique_index ユニークな index 設定かな。true で指定
:auto_validation 自動 validation の設定。true で実行される。
:validates validation context 。dm-validations使う時に
:unique true でユニーク指定。Serial指定するとデフォルトでユニーク

あとは、IDとかにしたいカラムには「Serial」つけるとか。

その他

あとはメソッドが allow_blank? とか色々あるけどあんまり使わなそうなので、
使うときに見に行く形ですかね。

次回、find とか update とかそのへんの操作についてもう少し調べてみようと思います。