Sha256: 4b11ccf6bd87d93fef4784d7f312d89c157ee22d5cd732751e51d96bb5268553

Contents?: true

Size: 441 Bytes

Versions: 2

Compression:

Stored size: 441 Bytes

Contents

class Debug
	class << self
		
		def trace_methods klass
			klass.instance_methods(false).each do |m|
				klass.class_eval do		
					alias_method :"old_#{m}", m		
					define_method m.to_sym do |*args|
						begin
							time = Time.now
							p [m.to_sym, :start]
							result = send :"old_#{m}", *args							
						ensure
							p [m.to_sym, :end, time - Time.now]
						end
						return result
					end
				end
			end
		end
		
		
	end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
RubyExt-0.1.1 lib/RubyExt/Debug.rb
RubyExt-0.1.2 lib/RubyExt/Debug.rb