Sha256: 1dfcfe8593e948afee2a4c5bc0acd5d7ccf0b5eae13e55b09222c2631d1062a9
Contents?: true
Size: 593 Bytes
Versions: 42
Compression:
Stored size: 593 Bytes
Contents
# Taken from rspec with high respect. # Mainly unused, for now class Class # Creates a new subclass of self, with a name "under" our own name. # Example: # # x = Foo::Bar.subclass('Zap'){} # x.name # => Foo::Bar::Zap_1 # x.superclass.name # => Foo::Bar def subclass(base_name, &body) klass = Class.new(self) class_name = "#{base_name}_#{class_count!}" instance_eval do const_set(class_name, klass) end klass.instance_eval(&body) klass end private def class_count! @class_count ||= 0 @class_count += 1 @class_count end end
Version data entries
42 entries across 42 versions & 3 rubygems