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.
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/alexa_objects/echo_request.rb', line 8 def initialize(response_hash) session = response_hash["session"] request = response_hash["request"] if session @attributes = session["attributes"] ? session["attributes"] : {} @user_id = session["user"]["userId"] if session["user"] @access_token = session["user"]["accessToken"] if session["user"] @application_id = session["application"]["applicationId"] if session["application"] end if request @request_type = request["type"] = request["timestamp"] @session_new = request["new"] if request["intent"] @intent_name = request["intent"]["name"] if request["intent"] @slots = build_struct(request["intent"]["slots"]) if request["intent"] end end end |
Instance Attribute Details
#access_token ⇒ Object (readonly)
Returns the value of attribute access_token.
4 5 6 |
# File 'lib/alexa_objects/echo_request.rb', line 4 def access_token @access_token end |
#application_id ⇒ Object (readonly)
Returns the value of attribute application_id.
4 5 6 |
# File 'lib/alexa_objects/echo_request.rb', line 4 def application_id @application_id end |
#attributes ⇒ Object
Returns the value of attribute attributes.
5 6 7 |
# File 'lib/alexa_objects/echo_request.rb', line 5 def attributes @attributes end |
#intent_name ⇒ Object (readonly)
Returns the value of attribute intent_name.
4 5 6 |
# File 'lib/alexa_objects/echo_request.rb', line 4 def intent_name @intent_name end |
#request_type ⇒ Object (readonly)
Returns the value of attribute request_type.
4 5 6 |
# File 'lib/alexa_objects/echo_request.rb', line 4 def request_type @request_type end |
#session_new ⇒ Object (readonly) Also known as: session_new?
Returns the value of attribute session_new.
4 5 6 |
# File 'lib/alexa_objects/echo_request.rb', line 4 def session_new @session_new end |
#slots ⇒ Object (readonly)
Returns the value of attribute slots.
4 5 6 |
# File 'lib/alexa_objects/echo_request.rb', line 4 def slots @slots end |
#timestamp ⇒ Object (readonly)
Returns the value of attribute timestamp.
4 5 6 |
# File 'lib/alexa_objects/echo_request.rb', line 4 def end |
#user_id ⇒ Object (readonly)
Returns the value of attribute user_id.
4 5 6 |
# File 'lib/alexa_objects/echo_request.rb', line 4 def user_id @user_id end |
Instance Method Details
#filled_slots ⇒ Object
30 31 32 |
# File 'lib/alexa_objects/echo_request.rb', line 30 def filled_slots @slots.select { |slot| slot != nil} end |
#intent_request? ⇒ Boolean
34 35 36 |
# File 'lib/alexa_objects/echo_request.rb', line 34 def intent_request? request_type == "IntentRequest" end |
#launch_request? ⇒ Boolean
38 39 40 |
# File 'lib/alexa_objects/echo_request.rb', line 38 def launch_request? request_type == "LaunchRequest" end |
#session_ended_request? ⇒ Boolean
42 43 44 |
# File 'lib/alexa_objects/echo_request.rb', line 42 def session_ended_request? request_type == "SessionEndedRequest" end |