Method: Module#basename

Defined in:
lib/core/facets/module/basename.rb

#basenameObject

Returns the root name of the module/class.

module ::BaseName
  class Example
  end
end

BaseName::Example.name       #=> "BaseName::Example"
BaseName::Example.basename   #=> "Example"

For anonymous modules this will provide a basename based on Module#inspect.

m = Module.new
m.inspect       # "#<Module:0xb7bb0434>"
m.basename      # "Module_0xb7bb0434"

CREDIT: Trans



22
23
24
25
26
27
28
# File 'lib/core/facets/module/basename.rb', line 22

def basename
  if name and not name.empty?
    name.gsub(/^.*::/, '')
  else
    nil #inspect.gsub('#<','').gsub('>','').sub(':', '_')
  end
end