Class: AlexaObjects::EchoRequest
- Inherits:
-
Object
- Object
- AlexaObjects::EchoRequest
- Defined in:
- lib/alexa_objects/echo_request.rb
Instance Attribute Summary collapse
-
#access_token ⇒ Object
readonly
Returns the value of attribute access_token.
-
#application_id ⇒ Object
readonly
Returns the value of attribute application_id.
-
#attributes ⇒ Object
Returns the value of attribute attributes.
-
#intent_name ⇒ Object
readonly
Returns the value of attribute intent_name.
-
#request_type ⇒ Object
readonly
Returns the value of attribute request_type.
-
#session_new ⇒ Object
(also: #session_new?)
readonly
Returns the value of attribute session_new.
-
#slots ⇒ Object
readonly
Returns the value of attribute slots.
-
#timestamp ⇒ Object
readonly
Returns the value of attribute timestamp.
-
#user_id ⇒ Object
readonly
Returns the value of attribute user_id.
Instance Method Summary collapse
- #filled_slots ⇒ Object
-
#initialize(response_hash) ⇒ EchoRequest
constructor
A new instance of EchoRequest.
- #intent_request? ⇒ Boolean
- #launch_request? ⇒ Boolean
- #session_ended_request? ⇒ Boolean
Constructor Details
#initialize(response_hash) ⇒ EchoRequest
Returns a new instance of EchoRequest.
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/alexa_objects/echo_request.rb', line 7 def initialize(response_hash) @attributes = response_hash["session"]["attributes"] ? response_hash["session"]["attributes"] : {} session = response_hash["session"] request = response_hash["request"] if session @user_id = session["user"]["userId"] @access_token = session["user"]["accessToken"] @application_id = session["application"]["applicationId"] end if request @request_type = request["type"] @timestamp = request["timestamp"] @session_new = request["new"] if request["intent"] @intent_name = request["intent"]["name"] @slots = build_struct(request["intent"]["slots"]) end end end |
Instance Attribute Details
#access_token ⇒ Object (readonly)
Returns the value of attribute access_token.
3 4 5 |
# File 'lib/alexa_objects/echo_request.rb', line 3 def access_token @access_token end |
#application_id ⇒ Object (readonly)
Returns the value of attribute application_id.
3 4 5 |
# File 'lib/alexa_objects/echo_request.rb', line 3 def application_id @application_id end |
#attributes ⇒ Object
Returns the value of attribute attributes.
4 5 6 |
# File 'lib/alexa_objects/echo_request.rb', line 4 def attributes @attributes end |
#intent_name ⇒ Object (readonly)
Returns the value of attribute intent_name.
3 4 5 |
# File 'lib/alexa_objects/echo_request.rb', line 3 def intent_name @intent_name end |
#request_type ⇒ Object (readonly)
Returns the value of attribute request_type.
3 4 5 |
# File 'lib/alexa_objects/echo_request.rb', line 3 def request_type @request_type end |
#session_new ⇒ Object (readonly) Also known as: session_new?
Returns the value of attribute session_new.
3 4 5 |
# File 'lib/alexa_objects/echo_request.rb', line 3 def session_new @session_new end |
#slots ⇒ Object (readonly)
Returns the value of attribute slots.
3 4 5 |
# File 'lib/alexa_objects/echo_request.rb', line 3 def slots @slots end |
#timestamp ⇒ Object (readonly)
Returns the value of attribute timestamp.
3 4 5 |
# File 'lib/alexa_objects/echo_request.rb', line 3 def @timestamp end |
#user_id ⇒ Object (readonly)
Returns the value of attribute user_id.
3 4 5 |
# File 'lib/alexa_objects/echo_request.rb', line 3 def user_id @user_id end |
Instance Method Details
#filled_slots ⇒ Object
31 32 33 |
# File 'lib/alexa_objects/echo_request.rb', line 31 def filled_slots @slots.select { |slot| slot != nil} end |
#intent_request? ⇒ Boolean
35 36 37 |
# File 'lib/alexa_objects/echo_request.rb', line 35 def intent_request? request_type == "IntentRequest" end |
#launch_request? ⇒ Boolean
39 40 41 |
# File 'lib/alexa_objects/echo_request.rb', line 39 def launch_request? request_type == "LaunchRequest" end |
#session_ended_request? ⇒ Boolean
43 44 45 |
# File 'lib/alexa_objects/echo_request.rb', line 43 def session_ended_request? request_type == "SessionEndedRequest" end |