Module: Named::Class

Defined in:
lib/named/class.rb

Defined Under Namespace

Modules: ClassMethods, InstanceMethods

Class Method Summary collapse

Class Method Details

.new(name, superclass = Object, &block) ⇒ Object



3
4
5
6
7
8
9
10
# File 'lib/named/class.rb', line 3

def self.new(name, superclass = Object, &block)
  ::Class.new(superclass, &block).tap do |klass|
    klass.extend(self) # adds support for is_a?
    klass.extend(ClassMethods)
    klass.send(:include, InstanceMethods)
    klass.name = name
  end
end