Skip to content

Instantly share code, notes, and snippets.

@rogercampos
Created June 19, 2012 18:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rogercampos/2955826 to your computer and use it in GitHub Desktop.
Save rogercampos/2955826 to your computer and use it in GitHub Desktop.
check for sql queries
def count_query_reads_for(clazz)
old = ActiveRecord::Base.logger
log_stream = StringIO.new
logger = Logger.new(log_stream)
ActiveRecord::Base.logger = logger
yield
ActiveRecord::Base.logger = old
logger.close
log_stream.string.scan(/#{clazz} Load/).size
end
def count_query_updates_for(clazz)
old = ActiveRecord::Base.logger
log_stream = StringIO.new
logger = Logger.new(log_stream)
ActiveRecord::Base.logger = logger
yield
ActiveRecord::Base.logger = old
logger.close
log_stream.string.scan(/UPDATE \"#{clazz.constantize.table_name}\"/).size
end
foo = count_query_reads_for("Post") do
Post.first
end
assert_equal foo, 1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment