Sha256: 81b6f4cbf1d556901b3737a42f3b4a2200a2c62e0cea1eb8ad34c38f61cb34ec
Contents?: true
Size: 981 Bytes
Versions: 1
Compression:
Stored size: 981 Bytes
Contents
require 'forwardable' require 'rack/contrib/cookies' module NYNY class RequestScope extend Forwardable attr_reader :request, :response def_delegators :request, :params, :session def_delegators :response, :headers def initialize request @request = request @response = Response.new end def cookies @cookies ||= Rack::Cookies::CookieJar.new(request.cookies) end def status code response.status = code end def halt status, headers={}, body='' response.status = status response.headers.merge! headers response.rewrite body cookies.finish!(response) if @cookies throw :halt, response.finish end def redirect_to uri, status=302 halt status, {'Location' => uri} end alias_method :redirect, :redirect_to def apply_to &handler response.write instance_eval(&handler) cookies.finish!(response) if @cookies response.finish end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
nyny-3.1.0 | lib/nyny/request_scope.rb |