Class: AlexaWebService::Request
- Inherits:
-
Object
- Object
- AlexaWebService::Request
- Defined in:
- lib/alexa_web_service/request.rb
Instance Attribute Summary collapse
-
#access_token ⇒ Object
readonly
Returns the value of attribute access_token.
-
#api_access_token ⇒ Object
readonly
Returns the value of attribute api_access_token.
-
#api_endpoint ⇒ Object
readonly
Returns the value of attribute api_endpoint.
-
#application_id ⇒ Object
readonly
Returns the value of attribute application_id.
-
#attributes ⇒ Object
Returns the value of attribute attributes.
-
#device_id ⇒ Object
readonly
Returns the value of attribute device_id.
-
#intent_name ⇒ Object
readonly
Returns the value of attribute intent_name.
-
#request_hash ⇒ Object
readonly
Returns the value of attribute request_hash.
-
#request_id ⇒ Object
readonly
Returns the value of attribute request_id.
-
#request_type ⇒ Object
readonly
Returns the value of attribute request_type.
-
#session_new ⇒ Object
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(request_hash) ⇒ Request
constructor
A new instance of Request.
- #intent_request? ⇒ Boolean
- #launch_request? ⇒ Boolean
- #session_ended_request? ⇒ Boolean
- #session_new? ⇒ Boolean
- #slot_hash ⇒ Object
Constructor Details
#initialize(request_hash) ⇒ Request
Returns a new instance of Request.
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/alexa_web_service/request.rb', line 9 def initialize(request_hash) @request_hash = request_hash @api_access_token = request_hash["context"]["System"]["apiAccessToken"] @api_endpoint = request_hash["context"]["System"]["apiEndpoint"] @device_id = request_hash["context"]["System"]["device"]["deviceId"] @request_id = request_hash["request"]["requestId"] @request_type = request_hash["request"]["type"] @timestamp = request_hash["request"]["timestamp"] @session_new = request_hash["session"]["new"] @user_id = request_hash["session"]["user"]["userId"] @access_token = request_hash["session"]["user"]["accessToken"] @application_id = request_hash["session"]["application"]["applicationId"] @intent_name = get_intent_name @slots = get_slots @attributes = get_attributes end |
Instance Attribute Details
#access_token ⇒ Object (readonly)
Returns the value of attribute access_token.
3 4 5 |
# File 'lib/alexa_web_service/request.rb', line 3 def access_token @access_token end |
#api_access_token ⇒ Object (readonly)
Returns the value of attribute api_access_token.
3 4 5 |
# File 'lib/alexa_web_service/request.rb', line 3 def api_access_token @api_access_token end |
#api_endpoint ⇒ Object (readonly)
Returns the value of attribute api_endpoint.
3 4 5 |
# File 'lib/alexa_web_service/request.rb', line 3 def api_endpoint @api_endpoint end |
#application_id ⇒ Object (readonly)
Returns the value of attribute application_id.
3 4 5 |
# File 'lib/alexa_web_service/request.rb', line 3 def application_id @application_id end |
#attributes ⇒ Object
Returns the value of attribute attributes.
7 8 9 |
# File 'lib/alexa_web_service/request.rb', line 7 def attributes @attributes end |
#device_id ⇒ Object (readonly)
Returns the value of attribute device_id.
3 4 5 |
# File 'lib/alexa_web_service/request.rb', line 3 def device_id @device_id end |
#intent_name ⇒ Object (readonly)
Returns the value of attribute intent_name.
3 4 5 |
# File 'lib/alexa_web_service/request.rb', line 3 def intent_name @intent_name end |
#request_hash ⇒ Object (readonly)
Returns the value of attribute request_hash.
3 4 5 |
# File 'lib/alexa_web_service/request.rb', line 3 def request_hash @request_hash end |
#request_id ⇒ Object (readonly)
Returns the value of attribute request_id.
3 4 5 |
# File 'lib/alexa_web_service/request.rb', line 3 def request_id @request_id end |
#request_type ⇒ Object (readonly)
Returns the value of attribute request_type.
3 4 5 |
# File 'lib/alexa_web_service/request.rb', line 3 def request_type @request_type end |
#session_new ⇒ Object (readonly)
Returns the value of attribute session_new.
3 4 5 |
# File 'lib/alexa_web_service/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_web_service/request.rb', line 3 def slots @slots end |
#timestamp ⇒ Object (readonly)
Returns the value of attribute timestamp.
3 4 5 |
# File 'lib/alexa_web_service/request.rb', line 3 def @timestamp end |
#user_id ⇒ Object (readonly)
Returns the value of attribute user_id.
3 4 5 |
# File 'lib/alexa_web_service/request.rb', line 3 def user_id @user_id end |
Instance Method Details
#filled_slots ⇒ Object
26 27 28 |
# File 'lib/alexa_web_service/request.rb', line 26 def filled_slots @slots.select { |slot| slot != nil} rescue [] end |
#intent_request? ⇒ Boolean
30 31 32 |
# File 'lib/alexa_web_service/request.rb', line 30 def intent_request? request_type == "IntentRequest" end |
#launch_request? ⇒ Boolean
34 35 36 |
# File 'lib/alexa_web_service/request.rb', line 34 def launch_request? request_type == "LaunchRequest" end |
#session_ended_request? ⇒ Boolean
44 45 46 |
# File 'lib/alexa_web_service/request.rb', line 44 def session_ended_request? request_type == "SessionEndedRequest" end |
#session_new? ⇒ Boolean
48 49 50 |
# File 'lib/alexa_web_service/request.rb', line 48 def session_new? session_new end |
#slot_hash ⇒ Object
38 39 40 41 42 |
# File 'lib/alexa_web_service/request.rb', line 38 def slot_hash if request_hash["request"]["intent"] request_hash["request"]["intent"]["slots"] end end |