Class: Alexa::IntentHandlers::Base
- Inherits:
-
Object
- Object
- Alexa::IntentHandlers::Base
- Defined in:
- lib/alexa/intent_handlers/base.rb
Instance Attribute Summary collapse
-
#context ⇒ Object
Returns the value of attribute context.
Class Method Summary collapse
-
._required_slot_names ⇒ Object
Lets you set
required_slot_names
per subclass. - .inherited(subclass) ⇒ Object
- .required_slot_names(*names) ⇒ Object
Instance Method Summary collapse
- #handle ⇒ Object
-
#initialize(alexa_context) ⇒ Base
constructor
A new instance of Base.
- #intent_usage_count ⇒ Object
- #request ⇒ Object
- #response ⇒ Object
- #say_welcome? ⇒ Boolean
- #session ⇒ Object
- #slots ⇒ Object
Constructor Details
#initialize(alexa_context) ⇒ Base
Returns a new instance of Base.
29 30 31 |
# File 'lib/alexa/intent_handlers/base.rb', line 29 def initialize(alexa_context) @context = alexa_context end |
Instance Attribute Details
#context ⇒ Object
Returns the value of attribute context.
27 28 29 |
# File 'lib/alexa/intent_handlers/base.rb', line 27 def context @context end |
Class Method Details
._required_slot_names ⇒ Object
Lets you set required_slot_names
per subclass
class IntentHandlers::NewIntent < IntentHandlers::Base
required_slot_names :Function, :CareerLevel
end
handler = IntentHandlers::NewIntent.new handler.required_slot_names # => [:Function, :CareerLevel]
18 19 20 |
# File 'lib/alexa/intent_handlers/base.rb', line 18 def _required_slot_names @_required_slot_names ||= [] end |
.inherited(subclass) ⇒ Object
5 6 7 |
# File 'lib/alexa/intent_handlers/base.rb', line 5 def inherited(subclass) subclass.instance_variable_set("@_required_slot_names", _required_slot_names.clone) end |
.required_slot_names(*names) ⇒ Object
22 23 24 |
# File 'lib/alexa/intent_handlers/base.rb', line 22 def required_slot_names(*names) @_required_slot_names = names.map(&:to_s) end |
Instance Method Details
#handle ⇒ Object
37 38 39 |
# File 'lib/alexa/intent_handlers/base.rb', line 37 def handle raise "Override .handle" end |
#intent_usage_count ⇒ Object
57 58 59 |
# File 'lib/alexa/intent_handlers/base.rb', line 57 def intent_usage_count @_usage_count ||= context.user.usage_count_for(intent_name: request.intent_name) end |
#request ⇒ Object
33 34 35 |
# File 'lib/alexa/intent_handlers/base.rb', line 33 def request context.request end |
#response ⇒ Object
45 46 47 |
# File 'lib/alexa/intent_handlers/base.rb', line 45 def response @_response ||= Alexa::Response.new(intent: self) end |
#say_welcome? ⇒ Boolean
49 50 51 |
# File 'lib/alexa/intent_handlers/base.rb', line 49 def say_welcome? @say_welcome == true end |
#session ⇒ Object
41 42 43 |
# File 'lib/alexa/intent_handlers/base.rb', line 41 def session request.session end |
#slots ⇒ Object
53 54 55 |
# File 'lib/alexa/intent_handlers/base.rb', line 53 def slots request.slots end |