Class: Castle::DefaultContext

Inherits:
Object
  • Object
show all
Defined in:
lib/castle/default_context.rb

Instance Method Summary collapse

Constructor Details

#initialize(request, cookies = nil) ⇒ DefaultContext

Returns a new instance of DefaultContext.



5
6
7
8
9
# File 'lib/castle/default_context.rb', line 5

def initialize(request, cookies = nil)
  @client_id = Extractors::ClientId.new(request, cookies || request.cookies).call('__cid')
  @headers = Extractors::Headers.new(request).call
  @ip = Extractors::IP.new(request).call
end

Instance Method Details

#callObject



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/castle/default_context.rb', line 11

def call
  context = {
    client_id: @client_id,
    active: true,
    origin: 'web',
    headers: @headers || {},
    ip: @ip,
    library: {
      name: 'castle-rb',
      version: Castle::VERSION
    }
  }
  context[:locale] = @headers['Accept-Language'] if @headers['Accept-Language']
  context[:user_agent] = @headers['User-Agent'] if @headers['User-Agent']
  context
end