真似したいと思った定数の書き方。
class Foo < ActiveRecord::Base
module Statuses
UNCHECKED = 0
UNAVAILABLE = 1
AVAILABLE = 2
end
include Statuses
def status_text
case self.status
when UNCHECKED; '未確認'
when UNAVAILABLE; '使用不可能'
when AVAILABLE; '使用可能'
end
end
end
こうすると
if foo.status == Foo::Statuses::AVAILABLE
のように書けるので、モジュールをネストしない
if foo.status == Foo::AVAILABLE
よりもわかりやすい。
しかもincludeしてるので内部ではローカルとして使える。
で、このstatusを表示したいことがあるのでstatus_textというメソッドも追加してみた。