Class: ReloaderInterceptor::Wrapper
- Inherits:
-
Object
- Object
- ReloaderInterceptor::Wrapper
- Defined in:
- lib/reloader_interceptor/wrapper.rb
Defined Under Namespace
Modules: DSL
Class Method Summary collapse
-
.wrap(klass) ⇒ Class
A wrapping class.
Class Method Details
.wrap(klass) ⇒ Class
Returns A wrapping class. Return the original one if
ReloaderInterceptor is disabled.
54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
# File 'lib/reloader_interceptor/wrapper.rb', line 54 def wrap(klass) return klass unless ReloaderInterceptor.enabled? klass_name = klass.name Class.new(klass.superclass) do extend Wrapper::DSL # Define `.name`, `.inspect`, and `.to_s` to mimic the original class. self.define_singleton_method :name do klass_name end self.define_singleton_method :inspect do klass_name end self.define_singleton_method :to_s do klass_name end def initialize(*) = end define_instance_methods_using_class_name(self, klass) define_singleton_methods_using_class_name(self, klass) end end |