Parent

Included Modules

Rack::Cache::Key

Public Class Methods

call(request) click to toggle source

Implement .call, since it seems like the “Rack-y” thing to do. Plus, it opens the door for cache key generators to just be blocks.

# File lib/rack/cache/key.rb, line 9
def self.call(request)
  new(request).generate
end
new(request) click to toggle source
# File lib/rack/cache/key.rb, line 13
def initialize(request)
  @request = request
end

Public Instance Methods

generate() click to toggle source

Generate a normalized cache key for the request.

# File lib/rack/cache/key.rb, line 18
def generate
  parts = []
  parts << @request.scheme << "://"
  parts << @request.host

  if @request.scheme == "https" && @request.port != 443 ||
      @request.scheme == "http" && @request.port != 80
    parts << ":" << @request.port.to_s
  end

  parts << @request.script_name
  parts << @request.path_info

  if qs = query_string
    parts << "?"
    parts << qs
  end

  parts.join
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.