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