
module Kernel

  private

  # Retreive the current running method name.
  # There is a lot of debate on what to call this.
  # #called differs from #method_name only by the fact
  # that it returns a symbol, rather then a string.
  #
  #   def tester; called; end
  #   tester  #=> :tester
  #
  def called
    /\`([^\']+)\'/.match(caller(1).first)[1].to_sym
  end

end



#  _____         _
# |_   _|__  ___| |_
#   | |/ _ \/ __| __|
#   | |  __/\__ \ |_
#   |_|\___||___/\__|
#
=begin test

  require 'test/unit'

  class TCKernel < Test::Unit::TestCase

    def test_called
      assert_equal( :test_called, called )    
    end

  end

=end
