class Locked::Context::Default

Public Class Methods

new(request, cookies = nil) click to toggle source
# File lib/locked/context/default.rb, line 6
def initialize(request, cookies = nil)
  @client_id = Extractors::ClientId.new(request, cookies || request.cookies).call
  @headers = Extractors::Headers.new(request).call
  @request_ip = Extractors::IP.new(request).call
end

Public Instance Methods

call() click to toggle source
# File lib/locked/context/default.rb, line 12
def call
  defaults.merge!(additional_defaults)
end

Private Instance Methods

additional_defaults() click to toggle source
# File lib/locked/context/default.rb, line 32
def additional_defaults
  {}.tap do |result|
    result[:locale] = @headers['Accept-Language'] if @headers['Accept-Language']
    result[:user_agent] = @headers['User-Agent'] if @headers['User-Agent']
  end
end
defaults() click to toggle source
# File lib/locked/context/default.rb, line 18
def defaults
  {
    client_id: @client_id,
    active: true,
    origin: 'web',
    headers: @headers,
    ip: @request_ip,
    library: {
      name: 'locked-rb',
      version: Locked::VERSION
    }
  }
end