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