class Module

def parent_name

M::N.parent_name # => "M"

Returns the name of the module containing this one.
def parent_name
  if defined?(@parent_name)
    @parent_name
  else
    parent_name = name =~ /::[^:]+\Z/ ? $`.freeze : nil
    @parent_name = parent_name unless frozen?
    parent_name
  end
end