lib/chillout/railtie.rb in chillout-0.6.0 vs lib/chillout/railtie.rb in chillout-0.8.0

- old
+ new

@@ -1,14 +1,17 @@ require 'chillout/creation_listener' +require 'chillout/listener_injector' module Chillout class Railtie < Rails::Railtie config.chillout = ActiveSupport::OrderedOptions.new initializer "chillout.creations_listener_initialization" do |rails_app| chillout_config = rails_app.config.chillout - if !chillout_config.empty? + if chillout_config.present? RailsInitializer.new(rails_app, chillout_config, Rails.logger).start + else + Rails.logger.debug "[Chillout] Not enabled for #{Rails.env}" end end rake_tasks do load "chillout/tasks.rb" @@ -25,29 +28,24 @@ @rails_app = rails_app @chillout_config = chillout_config @rails_logger = rails_logger end - def start + def start(listeners_injector = ListenerInjector.new) + listeners_injector.logger = @rails_logger + @rails_logger.info "[Chillout] Railtie initializing" client = Client.new(@chillout_config[:secret], options) - ActiveRecord::Base.extend(CreationListener) - @rails_logger.info "[Chillout] Creation listener attached" + listeners_injector.inject! @rails_app.middleware.use Middleware::CreationsMonitor, client @rails_logger.info "[Chillout] Creation monitor enabled" - client.start_worker + sidekiq = Integrations::Sidekiq.new + sidekiq.enable(client) if sidekiq.available? + client.start end def options - Hash[options_list].merge(:logger => @rails_logger) - end - - def options_list - existing_option_keys.map{|key| [key, @chillout_config[key]]} - end - - def existing_option_keys - [:port, :hostname, :ssl].select{|key| @chillout_config.has_key?(key)} + {logger: @rails_logger}.merge(@chillout_config).except(:secret) end end end