Class | Class |
In: |
vendor/plugins/rspec/lib/spec/extensions/class.rb
|
Parent: | Object |
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
# File vendor/plugins/rspec/lib/spec/extensions/class.rb, line 8 8: def subclass(base_name, &body) 9: klass = Class.new(self) 10: class_name = "#{base_name}_#{class_count!}" 11: instance_eval do 12: const_set(class_name, klass) 13: end 14: klass.instance_eval(&body) 15: klass 16: end