トップ «前の日記(2010-04-30) 最新 次の日記(2010-05-20)» 編集

Route 477



2010-05-17

[ruby] rulebook - 正規表現による動的メソッド定義

require 'rulebook'

class User
    attr :name, :title

    def initialize(name)
        @name = name
        @title = :user
    end

    rule /is_(admin|moderator|super_user|user)/ do |title|
        @title = title.to_sym
    end
end

「rule + 正規表現」で、複数のメソッドを同時に定義する*1。 ruleという名前はともかく、結構良いかなと思ってしまった。

*1 ように見せかける、かな。多分method_missing