Sha256: 3329e9c3aee3c2e134b5c86c104b3438a60c70c190ecddd68a6700bfe3e21a40
Contents?: true
Size: 1022 Bytes
Versions: 2
Compression:
Stored size: 1022 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 [], 200, {'Content-Type' => 'text/html'} 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
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
nyny-3.2.1 | lib/nyny/request_scope.rb |
nyny-3.2.0 | lib/nyny/request_scope.rb |