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
[ツッコミを入れる]