Sha256: b5a5d1993a2aca9f4396af0939aa6b958dbc4f067f56835c385781ce1b52674f

Contents?: true

Size: 955 Bytes

Versions: 17

Compression:

Stored size: 955 Bytes

Contents

module Shamu
  module Rack

    # Expose the query string and post data parameters as a hash.
    class QueryParams

      # @return [QueryParams]
      def self.create( * )
        fail "Add Shamu::Rack::QueryParamsMiddleware to use Shamu::Rack::QueryParams"
      end

      # @param [Hash] env the Rack environment
      def initialize( env )
        @env = env
      end

      # Get a cookie value from the browser.
      # @param [String] key or name of the cookie
      # @return [String] cookie value
      def get( key )
        key = key.to_s
        env_query_params[ key ]
      end
      alias_method :[], :get

      # @param [String] name
      # @return [Boolean] true if the cookie has been set.
      def key?( name )
        env_query_params.key?( name.to_s )
      end

      private

        attr_reader :env

        def env_query_params
          @env_query_params ||= ::Rack::Request.new( env ).params
        end
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
shamu-0.0.24 lib/shamu/rack/query_params.rb
shamu-0.0.21 lib/shamu/rack/query_params.rb
shamu-0.0.20 lib/shamu/rack/query_params.rb
shamu-0.0.19 lib/shamu/rack/query_params.rb
shamu-0.0.18 lib/shamu/rack/query_params.rb
shamu-0.0.17 lib/shamu/rack/query_params.rb
shamu-0.0.15 lib/shamu/rack/query_params.rb
shamu-0.0.14 lib/shamu/rack/query_params.rb
shamu-0.0.13 lib/shamu/rack/query_params.rb
shamu-0.0.11 lib/shamu/rack/query_params.rb
shamu-0.0.9 lib/shamu/rack/query_params.rb
shamu-0.0.8 lib/shamu/rack/query_params.rb
shamu-0.0.7 lib/shamu/rack/query_params.rb
shamu-0.0.5 lib/shamu/rack/query_params.rb
shamu-0.0.4 lib/shamu/rack/query_params.rb
shamu-0.0.3 lib/shamu/rack/query_params.rb
shamu-0.0.2 lib/shamu/rack/query_params.rb