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(*) @options = end define_instance_methods_using_class_name(self, klass) define_singleton_methods_using_class_name(self, klass) end end |