Sha256: 3e3f2354f13165bfe1946f7b9fc22531452af9ba5f05cfc6f4b7e0c1e90dff55

Contents?: true

Size: 1.13 KB

Versions: 26

Compression:

Stored size: 1.13 KB

Contents

require 'rubygems'
require 'bundler/setup'

require 'rack'

module RubyApp
  require 'ruby_app/mixins'

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

    attr_reader :environment

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

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

    def parameters
      self.params
    end

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

    def self.create!(environment = RubyApp::Application.environment)
      Thread.current[:_request] = RubyApp::Request.new(environment)
    end

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

    def self.create_context!
      RubyApp::Request.create!
      RubyApp::Response.create!
      RubyApp::Language.load!
      RubyApp::Session.load!
      begin
        yield
      ensure
        RubyApp::Session.unload!
        RubyApp::Language.unload!
        RubyApp::Response.destroy!
        RubyApp::Request.destroy!
      end
    end

    private

      def initialize(environment)
        super(environment)
        @environment = environment
      end

  end

end

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
RubyApp-0.5.40 lib/ruby_app/request.rb
RubyApp-0.5.39 lib/ruby_app/request.rb
RubyApp-0.5.38 lib/ruby_app/request.rb
RubyApp-0.5.37 lib/ruby_app/request.rb
RubyApp-0.5.36 lib/ruby_app/request.rb
RubyApp-0.5.35 lib/ruby_app/request.rb
RubyApp-0.5.34 lib/ruby_app/request.rb
RubyApp-0.5.33 lib/ruby_app/request.rb
RubyApp-0.5.32 lib/ruby_app/request.rb
RubyApp-0.5.31 lib/ruby_app/request.rb
RubyApp-0.5.30 lib/ruby_app/request.rb
RubyApp-0.5.29 lib/ruby_app/request.rb
RubyApp-0.5.28 lib/ruby_app/request.rb
RubyApp-0.5.23 lib/ruby_app/request.rb
RubyApp-0.5.18 lib/ruby_app/request.rb
RubyApp-0.5.17 lib/ruby_app/request.rb
RubyApp-0.5.16 lib/ruby_app/request.rb
RubyApp-0.5.15 lib/ruby_app/request.rb
RubyApp-0.5.14 lib/ruby_app/request.rb
RubyApp-0.5.13 lib/ruby_app/request.rb