Extend Clockblock::Timing in your class definition to add timers to your methods:
require 'clockblock' class Foo extend Clockblock::Timing add_timing_to :bar def bar sleep 2 end end f = Foo.new f.bar f.clockblock_timers[:bar] # => {:started_at=>2012-07-26 16:04:03 -0400, :finished_at=>2012-07-26 16:04:05 -0400, :duration=>2.001059, :stage=>:finished}
Extend your instances with Clockblock::Timing to add timers to your methods:
require 'clockblock' class Foo def bar sleep 2 end end f = Foo.new f.extend Clockblock::Timing f.add_timing_to :bar f.bar f.clockblock_timers[:bar] # => {:started_at=>2012-07-26 16:04:03 -0400, :finished_at=>2012-07-26 16:04:05 -0400, :duration=>2.001059, :stage=>:finished}
Extend your classes with Clockblock::Timing to add timers to your methods:
require 'clockblock' class Foo def bar sleep 2 end end Foo.extend Clockblock::Timing Foo.add_timing_to :bar, :baz puts Foo.instance_variable_get(:@future_timer_methods) class Foo; def baz; sleep 2; end; end f = Foo.new f.bar f.baz puts f.clockblock_timers # => {:bar=>{:started_at=>2012-07-30 10:43:48 -0400, :finished_at=>2012-07-30 10:43:49 -0400, :duration=>1.0004, :stage=>:finished}, :baz=>{:started_at=>2012-07-30 10:43:49 -0400, :finished_at=>2012-07-30 10:43:50 -0400, :duration=>1.000906, :stage=>:finished}}
Wrap your code in a Clockblock clock block to measure execution duration.
require 'clockblock' class Foo def bar t = Clockblock::Timer.new result = t.clock do sleep 2 # replace 'sleep 2' with your code! end puts t.attributes result end end