Class: HttpStub::Server::Session::IdentifierStrategy

Inherits:
Object
  • Object
show all
Defined in:
lib/http_stub/server/session/identifier_strategy.rb

Instance Method Summary collapse

Constructor Details

#initialize(session_configuration) ⇒ IdentifierStrategy

Returns a new instance of IdentifierStrategy.



7
8
9
# File 'lib/http_stub/server/session/identifier_strategy.rb', line 7

def initialize(session_configuration)
  @identifier_configuration = session_configuration.identifier_configuration
end

Instance Method Details

#identifier_for(sinatra_request) ⇒ Object



11
12
13
14
15
16
17
18
# File 'lib/http_stub/server/session/identifier_strategy.rb', line 11

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