method
say_with_time
v3.2.13 -
Show latest stable
- Class:
ActiveRecord::Migration
say_with_time(message)public
No documentation available.
# File activerecord/lib/active_record/migration.rb, line 435
def say_with_time(message)
say(message)
result = nil
time = Benchmark.measure { result = yield }
say "%.4fs" % time.real, :subitem
say("#{result} rows", :subitem) if result.is_a?(Integer)
result
end 2Notes
Requires a Block.
Just a little heads up here because it's not obvious.
This requires a block to be passed to it.
==== Example Usage
say_with_time "Reverting all service rates to nil." do
Service.update_all( :rate, nil )
end
# Output
-- Reverting all service rates to nil.
-> 0.3451s
-> 2233 rows
Include items affected in output
If the result returned from the block is an Integer, the output will include a message about that number of "rows" in addition to the elapsed time.
say_with_time "Some complex, custom work" do
counter = 0
# ... do some stuff here that increments the counter ...
counter
end
#=> "-- Some complex, custom work"
#=> " -> 45.3725s"
#=> " -> 52880 rows"