class Shokkenki::Provider::Model::RackHttpClient

Public Class Methods

new(app) click to toggle source
# File lib/shokkenki/provider/model/rack_http_client.rb, line 9
def initialize app
  @connection = Faraday.new do |f|
    f.adapter :rack, app
  end
end

Public Instance Methods

response_for(request_term) click to toggle source
# File lib/shokkenki/provider/model/rack_http_client.rb, line 15
def response_for request_term
  request = request_term.example
  response = @connection.send(request.delete(:method).to_sym) do |r|
    request.each do |key, value|
      writer = (key == :query) ? :params= : "#{key}=".to_sym
      r.send writer, value
    end
  end

  as_shokkenki_response response
end

Private Instance Methods

as_shokkenki_response(response) click to toggle source
# File lib/shokkenki/provider/model/rack_http_client.rb, line 29
def as_shokkenki_response response
  {
    :status => response.status,
    :headers => response.headers,
    :body => response.body
  }
end