module Fluent::PluginHelper::EventEmitter

Public Class Methods

new() click to toggle source
Calls superclass method
# File lib/fluent/plugin_helper/event_emitter.rb, line 64
def initialize
  super
  @_event_emitter_used_actually = false
  @_event_emitter_lazy_init = false
  @router = nil
end

Public Instance Methods

after_shutdown() click to toggle source
Calls superclass method
# File lib/fluent/plugin_helper/event_emitter.rb, line 77
def after_shutdown
  @router = nil
  super
end
close() click to toggle source
Calls superclass method
# File lib/fluent/plugin_helper/event_emitter.rb, line 82
def close # unset router many times to reduce test cost
  @router = nil
  super
end
configure(conf) click to toggle source
Calls superclass method
# File lib/fluent/plugin_helper/event_emitter.rb, line 71
def configure(conf)
  require 'fluent/engine'
  super
  @router = event_emitter_router(conf['@label'])
end
event_emitter_router(label_name) click to toggle source
# File lib/fluent/plugin_helper/event_emitter.rb, line 48
def event_emitter_router(label_name)
  if label_name
    Engine.root_agent.find_label(label_name).event_router
  elsif self.respond_to?(:as_secondary) && self.as_secondary
    if @primary_instance.has_router?
      @_event_emitter_lazy_init = true
      nil # primary plugin's event router is not initialized yet, here.
    else
      @primary_instance.context_router
    end
  else
    # `Engine.root_agent.event_router` is for testing
    self.context_router || Engine.root_agent.event_router
  end
end
event_emitter_used_actually?() click to toggle source
# File lib/fluent/plugin_helper/event_emitter.rb, line 44
def event_emitter_used_actually?
  @_event_emitter_used_actually
end
has_router?() click to toggle source
# File lib/fluent/plugin_helper/event_emitter.rb, line 40
def has_router?
  true
end
router() click to toggle source

stop : [-] shutdown : disable @router close : [-] terminate: [-]

# File lib/fluent/plugin_helper/event_emitter.rb, line 27
def router
  @_event_emitter_used_actually = true
  if @_event_emitter_lazy_init
    @router = @primary_instance.router
  end
  @router
end
router=(r) click to toggle source
# File lib/fluent/plugin_helper/event_emitter.rb, line 35
def router=(r)
  # not recommended now...
  @router = r
end
terminate() click to toggle source
Calls superclass method
# File lib/fluent/plugin_helper/event_emitter.rb, line 87
def terminate
  @router = nil
  super
end