class ActionAlexa::Intent::Registry
The registry will auto-discover and auto-load and intent files found within the intents folder (configurable). Default path to search is Rails.root/app/intents/*_intents.rb The classes loaded should inherit from ActionAlexa::Intent::Base
Public Class Methods
find_intent(intent)
click to toggle source
# File lib/action_alexa/intent/registry.rb, line 16 def self.find_intent(intent) load_registry! if intents.empty? intent_name = "#{intent}Intent" intents[intent_name] end
intents()
click to toggle source
# File lib/action_alexa/intent/registry.rb, line 8 def self.intents @intents ||= {} end
load_registry!()
click to toggle source
# File lib/action_alexa/intent/registry.rb, line 23 def self.load_registry! intents_path = File.join( ActionAlexa.config.root, 'app', 'intents', '*_intent.rb' ) Dir.glob(intents_path).sort.each do |intent_file| require intent_file class_name = intent_file.split('/').last.gsub(/\.rb/, '') register_intent(class_name.split('_').collect(&:capitalize).join) end end
register_intent(intent)
click to toggle source
# File lib/action_alexa/intent/registry.rb, line 12 def self.register_intent(intent) intents[intent] = intent.constantize end