class Alexa::Context

Attributes

request[RW]

Public Class Methods

new(alexa_request) click to toggle source
# File lib/alexa/context.rb, line 5
def initialize(alexa_request)
  @request = alexa_request
end

Public Instance Methods

api_access_token() click to toggle source
# File lib/alexa/context.rb, line 50
def api_access_token
  request.params["context"]["System"]["apiAccessToken"]
end
api_endpoint() click to toggle source
# File lib/alexa/context.rb, line 46
def api_endpoint
  request.params["context"]["System"]["apiEndpoint"]
end
country_code() click to toggle source

Returns country code from locale. Always in lowercase

# File lib/alexa/context.rb, line 26
def country_code
  return nil if locale.nil?
  @_country_code ||= locale.split("-").last.downcase
end
device() click to toggle source
# File lib/alexa/context.rb, line 39
def device
  @_device ||= Alexa::Device.new(
    attributes: request.params["context"]["System"]["device"],
    context: self
  )
end
language_code() click to toggle source

Returns language code from locale. Always in lowercase

# File lib/alexa/context.rb, line 34
def language_code
  return nil if locale.nil?
  @_language_code ||= locale.split("-").first.downcase
end
locale() click to toggle source
# File lib/alexa/context.rb, line 19
def locale
  request.locale
end
session() click to toggle source
# File lib/alexa/context.rb, line 15
def session
  request.session
end
user() click to toggle source
# File lib/alexa/context.rb, line 9
def user
  @_user ||= Alexa::User.where(
    amazon_id: request.user_id
  ).first_or_create
end