silent-postgres/lib/silent-postgres.rb

25 lines
602 B
Ruby
Raw Normal View History

module SilentPostgres
SILENCED_METHODS = %w(tables indexes column_definitions pk_and_sequence_for last_insert_id)
def self.included(base)
SILENCED_METHODS.each do |m|
base.send :alias_method_chain, m, :silencer
end
end
SILENCED_METHODS.each do |m|
eval <<METHOD
def #{m}_with_silencer(*args)
@logger.silence do
#{m}_without_silencer(*args)
end
end
METHOD
end
end
2010-09-03 11:40:07 +00:00
if %w(test development).include?(ENV["RAILS_ENV"])
puts "Silencing Postgres"
ActiveRecord::ConnectionAdapters::PostgreSQLAdapter.send(:include, SilentPostgres)
end