class Faraday::Adapter::Test::Stub

Stub request rubocop:disable Style/StructInheritance

Public Class Methods

new(host, full, headers, body, block) click to toggle source
Calls superclass method
# File lib/faraday/adapter/test.rb, line 148
def initialize(host, full, headers, body, block)
  path, query = full.respond_to?(:split) ? full.split('?') : full
  params =
    if query
      Faraday::Utils.parse_nested_query(query)
    else
      {}
    end

  super(host, path, params, headers, body, block)
end

Public Instance Methods

headers_match?(request_headers) click to toggle source
# File lib/faraday/adapter/test.rb, line 192
def headers_match?(request_headers)
  headers.keys.all? do |key|
    request_headers[key] == headers[key]
  end
end
matches?(request_host, request_uri, request_headers, request_body) click to toggle source
# File lib/faraday/adapter/test.rb, line 160
def matches?(request_host, request_uri, request_headers, request_body)
  request_path, request_query = request_uri.split('?')
  request_params =
    if request_query
      Faraday::Utils.parse_nested_query(request_query)
    else
      {}
    end
  # meta is a hash used as carrier
  # that will be yielded to consumer block
  meta = {}
  [(host.nil? || host == request_host) &&
    path_match?(request_path, meta) &&
    params_match?(request_params) &&
    (body.to_s.size.zero? || request_body == body) &&
    headers_match?(request_headers), meta]
end
params_match?(request_params) click to toggle source
# File lib/faraday/adapter/test.rb, line 186
def params_match?(request_params)
  params.keys.all? do |key|
    request_params[key] == params[key]
  end
end
path_match?(request_path, meta) click to toggle source
# File lib/faraday/adapter/test.rb, line 178
def path_match?(request_path, meta)
  if path.is_a?(Regexp)
    !!(meta[:match_data] = path.match(request_path))
  else
    path == request_path
  end
end
to_s() click to toggle source
# File lib/faraday/adapter/test.rb, line 198
def to_s
  "#{path} #{body}"
end