Sha256: b681385c2eb89eed665572582e6b4979e1f502cf9cc83f52e13113760ac247fe

Contents?: true

Size: 417 Bytes

Versions: 10

Compression:

Stored size: 417 Bytes

Contents

module Kernel

  # Easy access to an object's "special" class, otherwise known as it's
  # singleton class, eigenclass, adhoc class or object-qua-class.
  # 
  def meta_class(&block)
    if block_given?
      (class << self; self; end).class_eval(&block)
    else
      (class << self; self; end)
    end
  end

  # The non-underscored form of #meta_class if faily common.
  alias_method :metaclass, :meta_class

end

Version data entries

10 entries across 9 versions & 2 rubygems

Version Path
facets-glimmer-3.2.0 lib/core/facets/kernel/meta_class.rb
facets-3.1.0 lib/core/facets/kernel/meta_class.rb
facets-3.0.0 lib/core/facets/kernel/meta_class.rb
facets-2.9.3 lib/core/facets/kernel/meta_class.rb
facets-2.9.2 src/core/facets/kernel/meta_class.rb
facets-2.9.2 lib/core/facets/kernel/meta_class.rb
facets-2.9.1 lib/core/facets/kernel/meta_class.rb
facets-2.9.0 lib/core/facets/kernel/meta_class.rb
facets-2.9.0.pre.2 lib/core/facets/kernel/meta_class.rb
facets-2.9.0.pre.1 lib/core/facets/kernel/meta_class.rb