Sha256: 0793b0763c8592dec8bdf78bc2360d789f6e9629283246ba97b087d096b17bf8

Contents?: true

Size: 637 Bytes

Versions: 7

Compression:

Stored size: 637 Bytes

Contents

class Module

  # 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

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

end

Version data entries

7 entries across 6 versions & 1 rubygems

Version Path
facets-2.9.3 lib/core/facets/module/basename.rb
facets-2.9.2 lib/core/facets/module/basename.rb
facets-2.9.2 src/core/facets/module/basename.rb
facets-2.9.1 lib/core/facets/module/basename.rb
facets-2.9.0 lib/core/facets/module/basename.rb
facets-2.9.0.pre.2 lib/core/facets/module/basename.rb
facets-2.9.0.pre.1 lib/core/facets/module/basename.rb