__method__ returns defined name, and __callee__ returns called name.
They are same usually, but different in a aliased method.

  def foo
    [__method__, __callee__]
  end
  alias bar foo
  p foo #=> [:foo, :foo]
  p bar #=> [:foo, :bar]

-- 
Posted via http://www.ruby-forum.com/.