class ActiveResource::HttpMock::Responder

Public Class Methods

new(responses) click to toggle source
# File lib/activeresource/http_mock/flow/responder.rb, line 4
def initialize(responses)
  @responses = responses
end

Private Instance Methods

delete_duplicate_responses(request, block) click to toggle source
# File lib/activeresource/http_mock/flow/responder.rb, line 39
def delete_duplicate_responses(request, block)
  @responses.delete_if {|r| r[0] == request }
end
mock(http_verb, path, options={}, &block) click to toggle source
# File lib/activeresource/http_mock/flow/responder.rb, line 25
def mock(http_verb, path, options={}, &block)
  body = options[:body] || ''
  request_headers = options[:request_headers] || {}
  response_headers = options[:response_headers] || {}
  status = options[:status] || 200

  request = Request.new(http_verb, path, body, request_headers)
  response = Response.new(body, status, response_headers)

  delete_duplicate_responses(request, block)

  @responses << [request, response, block]
end
options_from_args(*args) click to toggle source
# File lib/activeresource/http_mock/flow/responder.rb, line 16
def options_from_args(*args)
  {
    request_headers: args[0],
    body: args[1],
    status: args[2],
    response_headers: args[3]
  }
end