class Ralyxa::RequestEntities::Request

Constants

INTENT_REQUEST_TYPE

Attributes

request[R]

Public Class Methods

new(original_request, user_class = Ralyxa::RequestEntities::User) click to toggle source
# File lib/ralyxa/request_entities/request.rb, line 18
def initialize(original_request, user_class = Ralyxa::RequestEntities::User)
  validate_request(original_request) if Ralyxa.configuration.validate_requests?

  @request = JSON.parse(original_request.body.read)
  attempt_to_rewind_request_body(original_request)

  @user = user_class.build(@request)
end

Public Instance Methods

intent_name() click to toggle source
# File lib/ralyxa/request_entities/request.rb, line 27
def intent_name
  return @request['request']['type'] unless intent_request?
  @request['request']['intent']['name']
end
new_session?() click to toggle source
# File lib/ralyxa/request_entities/request.rb, line 36
def new_session?
  @request['session']['new']
end
session_attribute(attribute_name) click to toggle source
# File lib/ralyxa/request_entities/request.rb, line 44
def session_attribute(attribute_name)
  session_attributes[attribute_name]
end
session_attributes() click to toggle source
# File lib/ralyxa/request_entities/request.rb, line 40
def session_attributes
  @request['session']['attributes']
end
slot_value(slot_name) click to toggle source
# File lib/ralyxa/request_entities/request.rb, line 32
def slot_value(slot_name)
  @request['request']['intent']['slots'][slot_name]['value']
end

Private Instance Methods

attempt_to_rewind_request_body(original_request) click to toggle source
# File lib/ralyxa/request_entities/request.rb, line 58
def attempt_to_rewind_request_body(original_request)
  original_request.body&.rewind
end
intent_request?() click to toggle source
# File lib/ralyxa/request_entities/request.rb, line 50
def intent_request?
  @request['request']['type'] == INTENT_REQUEST_TYPE
end
validate_request(request) click to toggle source
# File lib/ralyxa/request_entities/request.rb, line 54
def validate_request(request)
  AlexaVerifier.valid!(request)
end