summaryrefslogtreecommitdiffstats
path: root/lib/puppet/rails.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/puppet/rails.rb')
-rw-r--r--lib/puppet/rails.rb45
1 files changed, 23 insertions, 22 deletions
diff --git a/lib/puppet/rails.rb b/lib/puppet/rails.rb
index 2af41f9f6..a1192bf20 100644
--- a/lib/puppet/rails.rb
+++ b/lib/puppet/rails.rb
@@ -8,29 +8,30 @@ module Puppet::Rails
def self.connect
# This global init does not work for testing, because we remove
# the state dir on every test.
- unless ActiveRecord::Base.connected?
- Puppet.settings.use(:main, :rails, :puppetmasterd)
-
- ActiveRecord::Base.logger = Logger.new(Puppet[:railslog])
- begin
- loglevel = Logger.const_get(Puppet[:rails_loglevel].upcase)
- ActiveRecord::Base.logger.level = loglevel
- rescue => detail
- Puppet.warning "'%s' is not a valid Rails log level; using debug" % Puppet[:rails_loglevel]
- ActiveRecord::Base.logger.level = Logger::DEBUG
- end
- ActiveRecord::Base.allow_concurrency = true
- ActiveRecord::Base.verify_active_connections!
-
- begin
- ActiveRecord::Base.establish_connection(database_arguments())
- rescue => detail
- if Puppet[:trace]
- puts detail.backtrace
- end
- raise Puppet::Error, "Could not connect to database: %s" % detail
- end
+ return if ActiveRecord::Base.connected?
+
+ Puppet.settings.use(:main, :rails, :puppetmasterd)
+
+ ActiveRecord::Base.logger = Logger.new(Puppet[:railslog])
+ begin
+ loglevel = Logger.const_get(Puppet[:rails_loglevel].upcase)
+ ActiveRecord::Base.logger.level = loglevel
+ rescue => detail
+ Puppet.warning "'%s' is not a valid Rails log level; using debug" % Puppet[:rails_loglevel]
+ ActiveRecord::Base.logger.level = Logger::DEBUG
end
+
+ ActiveRecord::Base.allow_concurrency = true
+ ActiveRecord::Base.verify_active_connections!
+
+ begin
+ ActiveRecord::Base.establish_connection(database_arguments())
+ rescue => detail
+ if Puppet[:trace]
+ puts detail.backtrace
+ end
+ raise Puppet::Error, "Could not connect to database: %s" % detail
+ end
end
# The arguments for initializing the database connection.