Sha256: 0df44b01cb8d768850bf298148a7bfe67173cc735c1ca0a1354402c53fd1f34a

Contents?: true

Size: 525 Bytes

Versions: 7

Compression:

Stored size: 525 Bytes

Contents

module PinchHitter::Service
  class EndpointRecorder
    attr_reader :handler

    def initialize(handler)
      @handler = handler
    end

    def store message
      handler << message if handler.respond_to? :<<
    end

    def respond_to(request)
      requests << request if request
      message = request[:body] if request
      handler.respond_to message
    end

    def requests
      @requests ||= []
    end

    def reset
      requests.clear
      handler.reset if handler.respond_to? :reset
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
pinch_hitter-0.5.5 lib/pinch_hitter/service/endpoint_recorder.rb
pinch_hitter-0.5.4 lib/pinch_hitter/service/endpoint_recorder.rb
pinch_hitter-0.5.3 lib/pinch_hitter/service/endpoint_recorder.rb
pinch_hitter-0.5.2 lib/pinch_hitter/service/endpoint_recorder.rb
pinch_hitter-0.5.1 lib/pinch_hitter/service/endpoint_recorder.rb
pinch_hitter-0.5 lib/pinch_hitter/service/endpoint_recorder.rb
pinch_hitter-0.4 lib/pinch_hitter/service/endpoint_recorder.rb