Class: Tengine::Core::HandlerPath

Inherits:
Object
  • Object
show all
Includes:
Mongoid::Document, Mongoid::Timestamps
Defined in:
lib/tengine/core/handler_path.rb

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.default_driver_versionObject

Returns the value of attribute default_driver_version.



30
31
32
# File 'lib/tengine/core/handler_path.rb', line 30

def default_driver_version
  @default_driver_version
end

Class Method Details

.find_handlers(event_type_name) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/tengine/core/handler_path.rb', line 17

def find_handlers(event_type_name)
  paths = self.event_type_name(event_type_name).to_a
  driver_id_to_handler_id = paths.inject({}) do |d, path|
    d[path.driver_id] ||= []
    d[path.driver_id] << path.handler_id
    d
  end
  drivers = Tengine::Core::Driver.any_in(:_id => paths.map(&:driver_id)).and(:enabled => true, :version => default_driver_version)
  drivers.map do |driver|
    driver.handlers.any_in(:_id => driver_id_to_handler_id[driver.id])
  end.flatten
end