Sha256: 8b71dfb88f696ef51be1db1937d5cc80aa8f179301c5b84115f09724df2213de
Contents?: true
Size: 1.31 KB
Versions: 2
Compression:
Stored size: 1.31 KB
Contents
module Appsignal class Hooks class << self def register(name, hook) hooks[name] = hook end def load_hooks hooks.each do |name, hook| hook.try_to_install(name) end end def hooks @hooks ||= {} end end class Hook def self.register(name, hook=self) Appsignal::Hooks.register(name, hook.new) end def try_to_install(name) if dependencies_present? && !installed? Appsignal.logger.info("Installing #{name} hook") begin install @installed = true rescue => ex Appsignal.logger.error("Error while installing #{name} hook: #{ex}") end end end def installed? !! @installed end def dependencies_present? raise NotImplementedError end def install raise NotImplementedError end end end end require 'appsignal/hooks/celluloid' require 'appsignal/hooks/delayed_job' require 'appsignal/hooks/net_http' require 'appsignal/hooks/passenger' require 'appsignal/hooks/puma' require 'appsignal/hooks/rake' require 'appsignal/hooks/redis' require 'appsignal/hooks/resque' require 'appsignal/hooks/sequel' require 'appsignal/hooks/sidekiq' require 'appsignal/hooks/unicorn'
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
appsignal-0.12.rc.9 | lib/appsignal/hooks.rb |
appsignal-0.12.rc.8 | lib/appsignal/hooks.rb |