class AlexaRubykit::Session

Handles the session object in request.

Attributes

attributes[RW]
new[RW]
session_id[RW]
user[RW]

Public Class Methods

new(session) click to toggle source
# File lib/alexa_rubykit/session.rb, line 5
def initialize (session)
  raise ArgumentError, 'Invalid Session' if session.nil? || session['new'].nil? || session['sessionId'].nil?
  @new = session['new']
  @session_id = session['sessionId']
  session['attributes'].nil? ? @attributes = Hash.new  : @attributes = session['attributes']
  @user = session['user']
end

Public Instance Methods

access_token() click to toggle source
# File lib/alexa_rubykit/session.rb, line 28
def access_token
  @user['accessToken'] if @user
end
has_attributes?() click to toggle source

Check to see if attributes are present.

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

Returns whether this is a new session or not.

# File lib/alexa_rubykit/session.rb, line 14
def new?
  !!@new
end
user_defined?() click to toggle source

Returns true if a user is defined.

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

Returns the user_id.

# File lib/alexa_rubykit/session.rb, line 24
def user_id
  @user['userId'] if @user
end