.irbrc rails 3 compatible
require 'rubygems' rescue nilrequire 'wirble'require 'pp'# load wirbleWirble.initWirble.colorizeIRB.conf[:AUTO_INDENT] = true## method tracing# enable tracingdef enable_trace( event_regex = /^(call|return)/, class_regex = /IRB|Wirble|RubyLex|RubyToken/ )puts "Enabling method tracing with event regex #{event_regex.inspect} and class exclusion regex #{class_regex.inspect}"set_trace_func Proc.new{|event, file, line, id, binding, classname| printf "[%8s] %30s %30s (%s:%-2d)\n", event, id, classname, file, line if event =~ event_regex and classname.to_s !~ class_regex}returnend# disable tracingdef disable_traceputs "Disabling method tracing"set_trace_func nilend# access helper methods from the rails console# http://errtheblog.com/post/43def Object.method_added(method)return super(method) unless method == :helper(class<<self;self;end).send(:remove_method, :method_added)def helper(*helper_names) returning $helper_proxy ||= Object.new do |helper| helper_names.each { |h| helper.extend "#{h}_helper".classify.constantize } endendhelper.instance_variable_set("@controller", ActionController::Integration::Session.new)def helper.method_missing(method, *args, &block) @controller.send(method, *args, &block) if @controller && method.to_s =~ /_path$|_url$/endhelper :application rescue nilend if ENV['RAILS_ENV']if ENV.include?('RAILS_ENV')if !Object.const_defined?('RAILS_DEFAULT_LOGGER') require 'logger' Object.const_set('RAILS_DEFAULT_LOGGER', Logger.new(STDOUT))enddef sql(query) ActiveRecord::Base.connection.select_all(query)end if ENV['RAILS_ENV'] == 'test' require 'test/test_helper'end## for rails 3#elsif !Rails.env.nil?if defined?(Rails) && Rails.logger Rails.logger =Logger.new(STDOUT) ActiveRecord::Base.logger = Rails.loggerendif defined?(Rails) && Rails.env == 'test' require 'test/test_helper'endelse# nothing to doenddef sql(query)ActiveRecord::Base.connection.select_all(query)end# watching AR do it's thing# http://weblog.jamisbuck.org/2007/1/31/more-on-watching-activerecord# + comment from the UnderPantsGnomedef log_to(stream, colorize=true)ActiveRecord::Base.logger = Logger.new(stream)ActiveRecord::Base.clear_active_connections!ActiveRecord::Base.colorize_logging = colorizeend# annotate column names of an AR modeldef show(obj)y(obj.send("column_names"))endIRB.conf[:PROMPT_MODE] = :SIMPLEHirb::View.enablerails c
页:
[1]