Module: Pry::Forwardable
- Includes:
- Forwardable
- Included in:
- Pry, Method, REPL, Testable::PryTester, WrappedModule::Candidate
- Defined in:
- lib/pry/forwardable.rb
Instance Method Summary collapse
-
#def_private_delegators(target, *private_delegates) ⇒ Object
Since Ruby 2.4, Forwardable will print a warning when calling a method that is private on a delegate, and in the future it could be an error: bugs.ruby-lang.org/issues/12782#note-3.
Instance Method Details
#def_private_delegators(target, *private_delegates) ⇒ Object
Since Ruby 2.4, Forwardable will print a warning when calling a method that is private on a delegate, and in the future it could be an error: bugs.ruby-lang.org/issues/12782#note-3
That’s why we revert to a custom implementation for delegating one private method to another.
16 17 18 19 20 21 22 23 24 25 |
# File 'lib/pry/forwardable.rb', line 16 def def_private_delegators(target, *private_delegates) private_delegates.each do |private_delegate| define_method(private_delegate) do |*a, &b| instance_variable_get(target).__send__(private_delegate, *a, &b) end end class_eval do private(*private_delegates) # rubocop:disable Style/AccessModifierDeclarations end end |