| Module | Concrete |
| In: |
lib/concrete.rb
|
# File lib/concrete.rb, line 9 def self.included(klass) super unless klass.include?(Abstract) raise(TypeError, "#{klass} - not an abstract class") end klass.module_eval do class << self visibility = instance_method_visibility('new') def new(*args, &block) concrete_new(*args, &block) end send(visibility, :new) end def is_a?(klass) klass == Abstract ? false : super(klass) end end end