class AlexaToolbox::Session

Handles the session object in requests.

Attributes

application_id[R]
attributes[R]
device[R]
new[R]
session_id[R]
user[R]

Public Class Methods

new(session) click to toggle source
# File lib/alexa_toolbox/session.rb, line 6
def initialize (session)
  raise ArgumentError, 'Invalid Session' if session.nil? || !session.key?(:new) || !session.key?(:sessionId)
  @new = session[:new]
  @session_id = session[:sessionId]
  @attributes = session[:attributes].nil? ? Hash.new : session[:attributes]
  @user = session[:user]
  @application_id = session[:application][:applicationId]
  @device = session.key?(:device) ? session[:device] : ""
end

Public Instance Methods

access_token() click to toggle source

Returns user’s access token if provided

# File lib/alexa_toolbox/session.rb, line 36
def access_token
  @user[:accessToken] if @user
end
access_token?() click to toggle source
# File lib/alexa_toolbox/session.rb, line 31
def access_token?
  @user.key?(:accessToken) && !@user[:accessToken].empty?
end
device_id() click to toggle source
# File lib/alexa_toolbox/session.rb, line 48
def device_id
  @device[:deviceId]
end
has_attributes?() click to toggle source

Check to see if attributes are present.

# File lib/alexa_toolbox/session.rb, line 57
def has_attributes?
  !@attributes.empty?
end
new?() click to toggle source

Checks whether this is a new session

# File lib/alexa_toolbox/session.rb, line 17
def new?
  @new
end
supported_interfaces() click to toggle source
# File lib/alexa_toolbox/session.rb, line 52
def supported_interfaces
  @device[:supportedInterfaces]
end
user_defined?() click to toggle source

Checks if user is defined

# File lib/alexa_toolbox/session.rb, line 22
def user_defined?
  !@user.nil? || !@user[:userId].nil?
end
user_id() click to toggle source

Returns user’s id

# File lib/alexa_toolbox/session.rb, line 27
def user_id
  @user[:userId] if @user
end