class AlexaRuby::AudioPlayerRequest
Alexa
“AudioPlayer” and “PlaybackController” request type
Attributes
error_message[R]
error_playback_token[R]
error_player_activity[R]
error_type[R]
playback_offset[R]
playback_state[R]
Public Class Methods
new(request)
click to toggle source
Initialize new AudioPlayer
request
@param request [Hash] valid request from Amazon Alexa
service
Calls superclass method
# File lib/alexa_ruby/request/audio_player_request.rb, line 10 def initialize(request) @type = :audio_player super req = @req[:request] @playback_state = req[:type].gsub!('AudioPlayer.', '') @playback_offset = current_offset(req) define_error_params(req) if @playback_state == 'PlaybackFailed' end
Private Instance Methods
current_offset(request)
click to toggle source
Get current playback offset from request
@param request [Hash] valid request from Amazon Alexa
service @return [Integer] playback offset in milliseconds at the moment of request
# File lib/alexa_ruby/request/audio_player_request.rb, line 25 def current_offset(request) if @playback_state == 'PlaybackFailed' request[:currentPlaybackState][:offsetInMilliseconds] else request[:offsetInMilliseconds] end end
define_error_params(request)
click to toggle source
Define all error parameters if an error occured during playback
@param request [Hash] valid request from Amazon Alexa
service
# File lib/alexa_ruby/request/audio_player_request.rb, line 36 def define_error_params(request) @error_type = request[:error][:type] @error_message = request[:error][:message] @error_playback_token = request[:currentPlaybackState][:token] @error_player_activity = request[:currentPlaybackState][:playerActivity] end