class AlexaRuby::Context
Amazon Alexa
request context - application, user and device info
Attributes
api_endpoint[R]
app_id[R]
audio_state[R]
device[R]
user[R]
Public Class Methods
new(context)
click to toggle source
Initialize new Context
object
@param context [Hash] request context parameters @raise [ArgumentError] if application ID, or user ID, or device ID are nil
# File lib/alexa_ruby/request/base_request/context.rb, line 10 def initialize(context) @app_id = get_app_id(context[:System][:application]) raise ArgumentError, 'Missing application ID' unless @app_id @user = load_user(context[:System][:user]) @device = load_device(context[:System][:device]) @api_endpoint = context[:System][:apiEndpoint] @audio_state = load_audio_state(context[:AudioPlayer]) end
Private Instance Methods
get_app_id(app)
click to toggle source
Get application ID
@param app [Hash] application parameters @return [String] application ID
# File lib/alexa_ruby/request/base_request/context.rb, line 26 def get_app_id(app) app[:applicationId] unless app[:applicationId].nil? end
load_audio_state(params)
click to toggle source
Initialize audio player state
@param params [Hash] audio player parameters @return [Object] new AudioState
object instance
# File lib/alexa_ruby/request/base_request/context.rb, line 50 def load_audio_state(params) AudioState.new(params) unless params.nil? end
load_device(params)
click to toggle source
Initialize user device parameters
@param params [Hash] user device parameters @return [Object] new Device
object instance
# File lib/alexa_ruby/request/base_request/context.rb, line 42 def load_device(params) Device.new(params) end
load_user(params)
click to toggle source
Initialize user parameters
@param params [Hash] user parameters @return [Object] new User
object instance
# File lib/alexa_ruby/request/base_request/context.rb, line 34 def load_user(params) User.new(params) end