Module: Wasmify::Patcha
- Defined in:
- lib/wasmify/patcha.rb
Class Method Summary collapse
Class Method Details
.on_class(event) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/wasmify/patcha.rb', line 10 def on_class(event) # Ignore singletons return if event.self.singleton_class? class_name = name_method.bind_call(event.self) return unless callbacks[class_name] clbk = callbacks.delete(class_name) tracer.disable if callbacks.empty? clbk.call end |
.on_load(name, &callback) ⇒ Object
6 7 8 |
# File 'lib/wasmify/patcha.rb', line 6 def on_load(name, &callback) callbacks[name] = callback end |
.setup! ⇒ Object
24 25 26 27 28 29 30 31 |
# File 'lib/wasmify/patcha.rb', line 24 def setup! return if callbacks.empty? @tracer = TracePoint.new(:end, &method(:on_class)) tracer.enable # Use `Module#name` instead of `self.name` to handle overwritten `name` method @name_method = Module.instance_method(:name) end |