module ROM::Pipeline::Proxy

Forwards messages to the left side of a pipeline

@api private

Public Instance Methods

respond_to_missing?(name, include_private = false) click to toggle source

@api private

Calls superclass method
# File lib/rom/pipeline.rb, line 51
def respond_to_missing?(name, include_private = false)
  left.respond_to?(name) || super
end

Private Instance Methods

decorate?(response) click to toggle source

Check if response from method missing should be decorated

@api private

# File lib/rom/pipeline.rb, line 60
def decorate?(response)
  response.is_a?(left.class)
end
method_missing(name, *args, &block) click to toggle source

@api private

Calls superclass method
# File lib/rom/pipeline.rb, line 65
def method_missing(name, *args, &block)
  if left.respond_to?(name)
    response = left.__send__(name, *args, &block)

    if decorate?(response)
      self.class.new(response, right)
    else
      response
    end
  else
    super
  end
end