class Tengine::Core::Driver

イベントドライバ

イベントに対する処理はイベントハンドラによって実行されますが、イベントドライバはそのイベントハンドラの上位の概念です。 イベントハンドラは必ずイベントドライバの中に定義されます。

またイベントドライバは有効化/無効化を設定する単位であり、起動時の設定あるいはユーザーの指定によって変更することができます。

Public Class Methods

delete_all_with_handler_paths(dsl_version) click to toggle source
# File lib/tengine/core/driver.rb, line 76
def delete_all_with_handler_paths(dsl_version)
  drivers = Tengine::Core::Driver.where(:version => dsl_version)
  Tengine::Core::HandlerPath.where(:driver_id.in => drivers.map(&:id)).delete_all
  drivers.delete_all
end
find_by_name(name, options = {}) click to toggle source

Tengine::Core::FindByName で定義しているクラスメソッドfind_by_nameを上書きしています

# File lib/tengine/core/driver.rb, line 71
def find_by_name(name, options = {})
  version = options[:version] || Tengine::Core::Setting.dsl_version
  where({:name => name, :version => version}).first
end

Public Instance Methods

create_session() click to toggle source
# File lib/tengine/core/driver.rb, line 56
def create_session
  self.session ||= Tengine::Core::Session.create
end
delete_handler_paths() click to toggle source
# File lib/tengine/core/driver.rb, line 64
def delete_handler_paths
  return if new_record?
  Tengine::Core::HandlerPath.where(:driver_id => self.id).delete_all
end
update_handler_path() click to toggle source
# File lib/tengine/core/driver.rb, line 60
def update_handler_path
  handlers.each(&:update_handler_path)
end