パーフェクトRuby
パーフェクトRuby
- 作者: Rubyサポーターズ,すがわらまさのり,寺田玄太郎,三村益隆,近藤宇智朗,橋立友宏,関口亮一
- 出版社/メーカー: 技術評論社
- 発売日: 2013/08/10
- メディア: 大型本
- この商品を含むブログ (20件) を見る
第15章まで。
ActiveRecord の Enum を使った。
- lib/todo/task.rb
require 'active_record' module Todo # tasksテーブルを表現するモデルクラスです # @author yossk class Task < ActiveRecord::Base enum status: { not_yet: 0, done: 1, pendng: 2 } validates :name, presence: true, length: { maximum: 140 } validates :content, presence: true validates :status, inclusion: { in: statuses.keys } default_scope -> { order("created_at desc") } end end
Enum の使い方はちょっとクセがある。
Task.not_yet などとしてリストを得ることができる。
Enum 型の要素に実際値を当てはめてるのは、より確実にするために、指定した方が良いと感じたため。
% ./bin/todo create -n "パーフェクトRuby" -c "発売日に買いに行く" ID | Name | Content | Status --------------------------------------------------------------------------------- 17 | パーフェクトRuby | 発売日に買いに行く | not_yet