class HttpStub::Server::Session::IdentifierStrategy

Constants

DEFAULT_CONFIGURATION

Public Class Methods

new(identifier_setting) click to toggle source
# File lib/http_stub/server/session/identifier_strategy.rb, line 14
def initialize(identifier_setting)
  @identifier_configuration = DEFAULT_CONFIGURATION + (identifier_setting ? [ identifier_setting ] : [])
end

Public Instance Methods

identifier_for(sinatra_request) click to toggle source
# File lib/http_stub/server/session/identifier_strategy.rb, line 18
def identifier_for(sinatra_request)
  @identifier_configuration.map do |configuration_entry|
    configuration_entry.map do |attribute_type, attribute_name|
      identifier_attributes = attribute_type == :header ? sinatra_request.headers : sinatra_request.parameters
      identifier_attributes[attribute_name]
    end
  end.flatten.compact.first
end