anonymous?() public

A module may or may not have a name.

  module M; end
  M.name # => "M"

  m = Module.new
  m.name # => ""

A module gets a name when it is first assigned to a constant. Either via the module or class keyword or by an explicit assignment:

  m = Module.new # creates an anonymous module
  M = m          # => m gets a name here as a side-effect
  m.name         # => "M"
Show source
Register or log in to add new notes.