module ActionAlexa::RequestPayload::Request

Request component of the JSON blob from the Alexa request TO the application. This module contains utility methods to access the attributes

Public Instance Methods

intent_name() click to toggle source
# File lib/action_alexa/request_payload/request.rb, line 12
def intent_name
  return type unless type == 'IntentRequest'

  full_intent_name = request_payload['intent']['name']
  full_intent_name.split(/\./).last.gsub(/Intent$/, '')
end
locale() click to toggle source
# File lib/action_alexa/request_payload/request.rb, line 28
def locale
  request_payload['locale']
end
request_id() click to toggle source

For logging purposes when reaching out to Amazon

# File lib/action_alexa/request_payload/request.rb, line 20
def request_id
  request_payload['requestId']
end
slot(slot_type) click to toggle source
# File lib/action_alexa/request_payload/request.rb, line 46
def slot(slot_type)
  return nil unless slots?

  slots[slot_type]
end
slot?(slot_type) click to toggle source
# File lib/action_alexa/request_payload/request.rb, line 42
def slot?(slot_type)
  slots? && !slot(slot_type).nil?
end
slots() click to toggle source
# File lib/action_alexa/request_payload/request.rb, line 52
def slots
  request_payload['intent']['slots']
end
slots?() click to toggle source
# File lib/action_alexa/request_payload/request.rb, line 38
def slots?
  !slots.nil?
end
timestamp() click to toggle source
# File lib/action_alexa/request_payload/request.rb, line 24
def timestamp
  request_payload['timestamp']
end
type() click to toggle source
# File lib/action_alexa/request_payload/request.rb, line 8
def type
  request_payload['type']
end

Private Instance Methods

request_payload() click to toggle source
# File lib/action_alexa/request_payload/request.rb, line 58
def request_payload
  alexa_payload['request']
end