class Dry::Monads::Do::All::MethodTracker
@private
Attributes
wrappers[R]
Public Class Methods
new(wrappers)
click to toggle source
Calls superclass method
# File lib/dry/monads/do/all.rb, line 62 def initialize(wrappers) super() @wrappers = wrappers tracker = self module_eval do private define_method(:method_added) do |method| super(method) tracker.wrap_method(self, method) end define_method(:inherited) do |base| super(base) base.prepend(wrappers[base]) end def included(base) super All.included(base) end end end
Public Instance Methods
extend_object(target)
click to toggle source
Calls superclass method
# File lib/dry/monads/do/all.rb, line 89 def extend_object(target) super target.prepend(wrappers[target]) end
included(base)
click to toggle source
Calls superclass method
# File lib/dry/monads/do/all.rb, line 82 def included(base) super All.included(base) end
wrap_method(target, method)
click to toggle source
# File lib/dry/monads/do/all.rb, line 94 def wrap_method(target, method) visibility = Do.method_visibility(target, method) Do.wrap_method(wrappers[target], method, visibility) end