Sha256: b2e7bef0f069b1064e76817fda646d944739469ab833d790097e97f7ea60a2d3

Contents?: true

Size: 907 Bytes

Versions: 3

Compression:

Stored size: 907 Bytes

Contents

require 'rubygems'
require 'bundler/setup'

require 'rack'

module RubyApp
  require 'ruby_app/application'
  require 'ruby_app/mixins/delegate'

  class Request < ::Rack::Request
    extend RubyApp::Mixins::Delegate

    def parameters
      self.params
    end

    def query
      ::Rack::Utils.parse_query(self.query_string)
    end

    def language
      self.fullpath =~ /^\/([^\/\?]+)/
      $1
    end

    def self.get
      Thread.current[:_request]
    end

    def self.create(environment)
      request = RubyApp::Request.new(environment)
      Thread.current[:_request] = request
      if block_given?
        begin
          yield request
        ensure
          Thread.current[:_request] = nil
        end
      end
    end

    def self.destroy
      Thread.current[:_request] = nil
    end

    private

      def initialize(environment)
        super(environment)
      end

  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
RubyApp-0.0.8 lib/ruby_app/request.rb
RubyApp-0.0.7 lib/ruby_app/request.rb
RubyApp-0.0.6 lib/ruby_app/request.rb