class Castle::Context::GetDefault

Public Class Methods

new(request, cookies = nil) click to toggle source
# File lib/castle/context/get_default.rb, line 6
def initialize(request, cookies = nil)
  @pre_headers = Castle::Headers::Filter.new(request).call
  @cookies = cookies || request.cookies
  @request = request
end

Public Instance Methods

call() click to toggle source
# File lib/castle/context/get_default.rb, line 12
def call
  {
    client_id: client_id,
    active: true,
    headers: headers,
    ip: ip,
    library: {
      name: 'castle-rb',
      version: Castle::VERSION
    }
  }.tap do |result|
    result[:locale] = locale if locale
    result[:user_agent] = user_agent if user_agent
  end
end

Private Instance Methods

client_id() click to toggle source

@return [String]

# File lib/castle/context/get_default.rb, line 46
def client_id
  Castle::ClientId::Extract.new(@pre_headers, @cookies).call
end
headers() click to toggle source

formatted and filtered headers @return [Hash]

# File lib/castle/context/get_default.rb, line 52
def headers
  Castle::Headers::Extract.new(@pre_headers).call
end
ip() click to toggle source

@return [String]

# File lib/castle/context/get_default.rb, line 41
def ip
  Castle::IPs::Extract.new(@pre_headers).call
end
locale() click to toggle source

@return [String]

# File lib/castle/context/get_default.rb, line 31
def locale
  @pre_headers['Accept-Language']
end
user_agent() click to toggle source

@return [String]

# File lib/castle/context/get_default.rb, line 36
def user_agent
  @pre_headers['User-Agent']
end