Parent

Class/Module Index [+]

Quicksearch

Docile::FallbackContextProxy

Public Class Methods

new(receiver, fallback) click to toggle source
# File lib/docile/fallback_context_proxy.rb, line 17
def initialize(receiver, fallback)
  @__receiver__ = receiver
  @__fallback__ = fallback
end

Public Instance Methods

__proxy_method__(method, *args, &block) click to toggle source
# File lib/docile/fallback_context_proxy.rb, line 41
def __proxy_method__(method, *args, &block)
  begin
    @__receiver__.__send__(method.to_sym, *args, &block)
  rescue ::NoMethodError => e
    begin
      @__fallback__.__send__(method.to_sym, *args, &block)
    rescue ::NoMethodError
      raise(e)
    end
  end
end
id() click to toggle source
# File lib/docile/fallback_context_proxy.rb, line 22
def id
  @__receiver__.__send__(:id)
end
instance_variables() click to toggle source

Special case to allow proxy instance variables

# File lib/docile/fallback_context_proxy.rb, line 32
def instance_variables
  # Ruby 1.8.x returns string names, convert to symbols
  super.map(&:to_sym) - NON_PROXIED_INSTANCE_VARIABLES.to_a
end
method_missing(method, *args, &block) click to toggle source
# File lib/docile/fallback_context_proxy.rb, line 37
def method_missing(method, *args, &block)
  __proxy_method__(method, *args, &block)
end
sub(*args, &block) click to toggle source

Special case due to `Kernel#sub`'s existence

# File lib/docile/fallback_context_proxy.rb, line 27
def sub(*args, &block)
  __proxy_method__(:sub, *args, &block)
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.