Class: AlexaRuby::Request

Inherits:
Object
  • Object
show all
Defined in:
lib/alexa_ruby/request.rb

Overview

Abstract request class

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(json) ⇒ Request

Initialize new request object and set object parameters

Parameters:

  • json (JSON)

    valid JSON request from Amazon



13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/alexa_ruby/request.rb', line 13

def initialize(json)
  @request_id = json[:request][:requestId]
  if @request_id.nil?
    raise ArgumentError, 'Request ID should exist on all Requests'
  end
  @version = json[:version]
  @locale = json[:request][:locale]
  @json = json

  return if @type == :audio_player

  # TODO: We probably need better session handling
  @session = AlexaRuby::Session.new(json[:session])
end

Instance Attribute Details

#jsonObject

global



7
8
9
# File 'lib/alexa_ruby/request.rb', line 7

def json
  @json
end

#localeObject

on request



8
9
10
# File 'lib/alexa_ruby/request.rb', line 8

def locale
  @locale
end

#request_idObject

on request



8
9
10
# File 'lib/alexa_ruby/request.rb', line 8

def request_id
  @request_id
end

#sessionObject

global



7
8
9
# File 'lib/alexa_ruby/request.rb', line 7

def session
  @session
end

#typeObject

global



7
8
9
# File 'lib/alexa_ruby/request.rb', line 7

def type
  @type
end

#versionObject

global



7
8
9
# File 'lib/alexa_ruby/request.rb', line 7

def version
  @version
end