Sha256: 8d37dab5c0ca4aa5310b5e24ee6ddb1a1172d3e2c597e5d5c0fe6d88553ee784
Contents?: true
Size: 1.12 KB
Versions: 1
Compression:
Stored size: 1.12 KB
Contents
require "rack/test" module Webrat class RackSession def initialize(context) #:nodoc: @session = Rack::Test::Session.new(context.app, "www.example.com") end def get(url, data = {}, headers = {}) process_request(:get, url, data, headers) end def post(url, data = {}, headers = {}) process_request(:post, url, data, headers) end def put(url, data = {}, headers = {}) process_request(:put, url, data, headers) end def delete(url, data = {}, headers = {}) process_request(:delete, url, data, headers) end def response_body response.body end def response_code response.status end def response @session.last_response end def request @session.last_request end protected def process_request(http_method, url, data = {}, headers = {}) headers ||= {} data ||= {} params = data.inject({}) { |acc, (k,v)| acc.update(k => Rack::Utils.unescape(v)) } env = headers.merge(:params => params, :method => http_method.to_s.upcase) @session.request(url, env) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
aslakhellesoy-webrat-0.4.4.1 | lib/webrat/rack.rb |