Module: DSPy::Module::ForwardOverrideHooks
- Defined in:
- lib/dspy/module.rb
Instance Method Summary collapse
Instance Method Details
#method_added(method_name) ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/dspy/module.rb', line 28 def method_added(method_name) super return unless method_name == :forward return if self == DSPy::Module return if @_wrapping_forward @_wrapping_forward = true original = instance_method(:forward) define_method(:forward) do |*args, **kwargs, &block| instrument_forward_call(args, kwargs) do original.bind(self).call(*args, **kwargs, &block) end end ensure @_wrapping_forward = false end |