Class: Alexa::Session
- Inherits:
-
HashWithIndifferentAccess
- Object
- HashWithIndifferentAccess
- Alexa::Session
- Defined in:
- lib/alexa/session.rb
Instance Method Summary collapse
- #application_id ⇒ Object
- #elicitation_count_for(slot_name) ⇒ Object
- #increment_elicitation_count!(slot_name) ⇒ Object
-
#initialize(session = {}) ⇒ Session
constructor
A new instance of Session.
- #new? ⇒ Boolean
- #user_id ⇒ Object
Constructor Details
#initialize(session = {}) ⇒ Session
Returns a new instance of Session.
3 4 5 6 |
# File 'lib/alexa/session.rb', line 3 def initialize(session={}) @variables = session super(session["attributes"]) end |
Instance Method Details
#application_id ⇒ Object
27 28 29 |
# File 'lib/alexa/session.rb', line 27 def application_id @variables["application"]["applicationId"] end |
#elicitation_count_for(slot_name) ⇒ Object
8 9 10 11 12 13 14 |
# File 'lib/alexa/session.rb', line 8 def elicitation_count_for(slot_name) self["elicitations"] ||= {} if self["elicitations"][slot_name].present? return self["elicitations"][slot_name]["count"] end return 0 end |
#increment_elicitation_count!(slot_name) ⇒ Object
16 17 18 19 20 21 |
# File 'lib/alexa/session.rb', line 16 def increment_elicitation_count!(slot_name) count = elicitation_count_for(slot_name) self["elicitations"].merge!( "#{slot_name}": { count: count + 1 } ) end |
#new? ⇒ Boolean
23 24 25 |
# File 'lib/alexa/session.rb', line 23 def new? @variables["new"] == true end |
#user_id ⇒ Object
31 32 33 |
# File 'lib/alexa/session.rb', line 31 def user_id @variables["user"]["userId"] end |