diff options
author | David Heinemeier Hansson <david@loudthinking.com> | 2016-02-20 18:41:33 +0100 |
---|---|---|
committer | David Heinemeier Hansson <david@loudthinking.com> | 2016-02-20 18:41:33 +0100 |
commit | e76891314126b10d5cf57aaf776dfa2a26553ec3 (patch) | |
tree | ddbf63ad02f922f1ce97987f77b8a787ed694477 /activesupport | |
parent | eb65f04fb2d53c8bd89e48d0fce731eb1ac1a196 (diff) | |
download | rails-e76891314126b10d5cf57aaf776dfa2a26553ec3.tar.gz rails-e76891314126b10d5cf57aaf776dfa2a26553ec3.tar.bz2 rails-e76891314126b10d5cf57aaf776dfa2a26553ec3.zip |
Make benchmark('something', silence: true) actually work
Diffstat (limited to 'activesupport')
-rw-r--r-- | activesupport/CHANGELOG.md | 4 | ||||
-rw-r--r-- | activesupport/lib/active_support/benchmarkable.rb | 2 | ||||
-rw-r--r-- | activesupport/test/benchmarkable_test.rb | 14 |
3 files changed, 19 insertions, 1 deletions
diff --git a/activesupport/CHANGELOG.md b/activesupport/CHANGELOG.md index f4c324803c..db8d279cff 100644 --- a/activesupport/CHANGELOG.md +++ b/activesupport/CHANGELOG.md @@ -1,3 +1,7 @@ +* Make `benchmark('something', silence: true)` actually work + + *DHH* + * Add `#on_weekday?` method to `Date`, `Time`, and `DateTime`. `#on_weekday?` returns `true` if the receiving date/time does not fall on a Saturday diff --git a/activesupport/lib/active_support/benchmarkable.rb b/activesupport/lib/active_support/benchmarkable.rb index 805b7a714f..3988b147ac 100644 --- a/activesupport/lib/active_support/benchmarkable.rb +++ b/activesupport/lib/active_support/benchmarkable.rb @@ -38,7 +38,7 @@ module ActiveSupport options[:level] ||= :info result = nil - ms = Benchmark.ms { result = options[:silence] ? silence { yield } : yield } + ms = Benchmark.ms { result = options[:silence] ? logger.silence { yield } : yield } logger.send(options[:level], '%s (%.1fms)' % [ message, ms ]) result else diff --git a/activesupport/test/benchmarkable_test.rb b/activesupport/test/benchmarkable_test.rb index 04d4f5e503..5af041f458 100644 --- a/activesupport/test/benchmarkable_test.rb +++ b/activesupport/test/benchmarkable_test.rb @@ -41,6 +41,20 @@ class BenchmarkableTest < ActiveSupport::TestCase assert_last_logged 'test_run' end + def test_with_silence + assert_difference 'buffer.count', +2 do + benchmark('test_run') do + logger.info "SOMETHING" + end + end + + assert_difference 'buffer.count', +1 do + benchmark('test_run', silence: true) do + logger.info "NOTHING" + end + end + end + def test_within_level logger.level = ActiveSupport::Logger::DEBUG benchmark('included_debug_run', :level => :debug) { } |