class SlackScratcher::Router
Slack log router. This import log data from loader, and route them to adapter
@since 0.0.1
Public Class Methods
new(loader, adapter)
click to toggle source
Initalize SlackScratcher::Router
object
@param [SlackScratcher::Loader::Base] loader @param [SlackScratcher::Adapter::Base] adapter
@example Initialize router object
SlackScratcher::Router.new(loader, adapter)
@return [SlackScratcher::Router] Router
object
# File lib/slack_scratcher/router.rb, line 16 def initialize(loader, adapter) @loader = loader @adapter = adapter end
Public Instance Methods
route()
click to toggle source
Route logs to adapter
@return [Boolean] There isn't any problem, it returns true
# File lib/slack_scratcher/router.rb, line 24 def route ready _route true end
route_loop()
click to toggle source
Run loop to route logs in real time
@return [Boolean] If loop interrupted, it return false
# File lib/slack_scratcher/router.rb, line 33 def route_loop ready loop { _route } rescue Interrupt => error SlackScratcher.logger.info error false end
Private Instance Methods
_route()
click to toggle source
@private
# File lib/slack_scratcher/router.rb, line 49 def _route @loader.each(@adapter) do |data, metadata| if data.empty? SlackScratcher.logger.info "* #{metadata} is empty. Nothing happen." else @adapter.send data SlackScratcher.logger.info "* #{metadata} is routed." end end end
ready()
click to toggle source
@private
# File lib/slack_scratcher/router.rb, line 44 def ready @adapter.ready_index end