Sha256: 83a01f6bd9306d0db34ee2396940b9fe47864845c325ce551de3d670a70345a6
Contents?: true
Size: 1.22 KB
Versions: 1
Compression:
Stored size: 1.22 KB
Contents
require 'rack' module Wee class Request < Rack::Request def self.new(env) env['wee.request'] ||= super end attr_reader :fields attr_accessor :session_id attr_accessor :page_id def initialize(env) super(env) @fields = self.params @session_id = @fields.delete("_s") @page_id = @fields.delete("_p") end # Is this an action request? def action? not render? end # Is this a render request? def render? @fields.empty? end alias ajax? xhr? def build_url(hash={}) session_id = hash.has_key?(:session_id) ? hash[:session_id] : @session_id page_id = hash.has_key?(:page_id) ? hash[:page_id] : @page_id callback_id = hash[:callback_id] info = hash.has_key?(:info) ? hash[:info] : @info raise ArgumentError if session_id.nil? and not page_id.nil? raise ArgumentError if page_id.nil? and not callback_id.nil? q = {} q['_s'] = session_id if session_id q['_p'] = page_id if page_id q[callback_id] = nil if callback_id path = script_name() + (info || path_info()) path << "?" << Rack::Utils.build_query(q) unless q.empty? return path end end # class Request end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
mullen-wee-2.2.0 | lib/wee/request.rb |