Module: HTTPAdapter::MockAdapter

Defined in:
lib/httpadapter/adapters/mock.rb

Overview

A simple module for mocking the transmit method on an adapter.

Examples:

# Using RSpec, verify that the request being sent includes a user agent.
adapter = HTTPAdapter::MockAdapter.request_adapter do |req, conn|
  method, uri, headers, body = req
  headers.should be_any { |k, v| k.downcase == 'user-agent' }
end

Class Method Summary collapse

Class Method Details

.request_adapter(&block) ⇒ Object



28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/httpadapter/adapters/mock.rb', line 28

def self.request_adapter(&block)
  return Class.new do
    @@block = block

    def self.transmit(*params)
      response = @@block.call(*params)
      if response.respond_to?(:each)
        return response
      else
        return [200, [], ['']]
      end
    end
  end
end