Skip to content

Instantly share code, notes, and snippets.

class ActiveRecord::ConnectionAdapters::AbstractAdapter
def called_by(original_caller)
str = original_caller.reject { |info| !info.match /#{Rails.root}/ }.first
str.gsub(Rails.root,'')
end
def log_info(sql, name, ms)
if @logger && @logger.debug?
name = '%s (%.1fms) %s' % [name || 'SQL', ms, called_by(caller)]
@logger.debug(format_log_entry(name, sql.squeeze(' ')))
class Module
def method_added(symbol)
p caller if symbol == :h
end
end
@thieso2
thieso2 / require_timings.rb
Created February 23, 2010 07:45
Show require calls with timing
require 'benchmark'
$require_level = 0
module Kernel
alias require_without_timing require
def require(path)
result = seconds = nil
begin
$require_level += 1
@thieso2
thieso2 / gist:138098
Created June 30, 2009 09:57
emulates Objective-C pose_as call. Demo use-case: add HTTP_PROXY support to Net::HTTP
class Object
def pose_as(klass)
namespace = klass.to_s.split("::")
klass = namespace.pop
if namespace.any?
eval <<-EOT
module ::#{namespace.join("::")}
send(:remove_const, :"#{klass}")
#{klass} = #{self}