class Slaver::ConfigHandler
Attributes
block[R]
current_config[R]
saved_block[R]
saved_config[R]
Public Instance Methods
run_with(klass, config_name, pools_handler) { || ... }
click to toggle source
# File lib/slaver/config_handler.rb, line 7 def run_with(klass, config_name, pools_handler) config_name = prepare(config_name) pools_handler.for_config(klass, config_name) with_config(config_name) { yield } end
Private Instance Methods
prepare(config_name)
click to toggle source
# File lib/slaver/config_handler.rb, line 28 def prepare(config_name) config_name = config_name.to_s return config_name if ::ActiveRecord::Base.configurations.key?(config_name) config_name = "#{Rails.env}_#{config_name}" unless ::ActiveRecord::Base.configurations.key?(config_name) if Rails.env.production? raise ArgumentError, "Can't find #{config_name} on database configurations" else config_name = Rails.env end end config_name end
with_config(config_name) { || ... }
click to toggle source
# File lib/slaver/config_handler.rb, line 17 def with_config(config_name) last_config = @current_config @current_config = config_name begin yield ensure @current_config = last_config end end