Module: Dry::Monads::Do::All
- Defined in:
- lib/dry/monads/do/all.rb
Overview
Do::All automatically wraps methods defined in a class with an unwrapping block.
Similar to what Do.for(...)
does except wraps every method so you don't have
to list them explicitly.
Defined Under Namespace
Classes: MethodTracker
Class Method Summary collapse
Class Method Details
.included(base) ⇒ Object
94 95 96 97 98 99 100 101 |
# File 'lib/dry/monads/do/all.rb', line 94 def self.included(base) super wrappers = Hash.new { |h, k| h[k] = Module.new } tracker = MethodTracker.new(wrappers) base.extend(tracker) base.instance_methods(false).each { |m| tracker.wrap_method(base, m) } end |