method

_delegator_method

Importance_0
v2_2_9 - Show latest stable - 0 notes - Class: Forwardable
_delegator_method(obj, accessor, method, ali) public

No documentation

This method has no description. You can help the Ruby community by adding new notes.

Hide source
# File lib/forwardable.rb, line 191
  def self._delegator_method(obj, accessor, method, ali)
    accessor = accessor.to_s unless Symbol === accessor

    if Module === obj ?
         obj.method_defined?(accessor) || obj.private_method_defined?(accessor) :
         obj.respond_to?(accessor, true)
      accessor = "#{accessor}()"
    end

    line_no = __LINE__+1; str = "#{<<-"begin;"}\n#{<<-"end;"}"
    begin;
      proc do
        def #{ali}(*args, &block)
          begin
            #{accessor}
          ensure
            $@.delete_if {|s| ::Forwardable::FILE_REGEXP =~ s} if $@ and !::Forwardable::debug
          end.__send__ #{method}, *args, &block#{method}, *args, &block
        end
      end
    end
Register or log in to add new notes.