Hpricotで良いなと思ってたのが、"クラス名と同名の関数にデフォルト動作をさせる"というやつ。
class Foo
def initialize
puts "new"
# code...
end
def fetch
puts "fetch"
# code...
end
def send
puts "send"
# code...
end
end
def Foo
foo = Foo.new
foo.fetch
foo.send
end
こんな感じでFooクラスにFoo関数を作っておく。
% irb -r foo
>> Foo()
new
fetch
send
=> nil
普通こういう場合Foo.run!とかを用意するけど、クラス名をとりあえず実行してみればいいというのは楽。変数と関数の2値を持てるところを利用してるんだけどシンプルで好きだ。
このパターンの名前みたいのあるのかな?