自定义irb不打印对象

时间:2015-09-22 17:12:47

标签: ruby-on-rails irb

尝试为gem编写自定义irb以简化调试。在shell加载的时候,您可以像MyClass.get_last_instance => _.attributes => {'attribute'=> 'test'} 一样使用它,但是会跑到这个墙上

 require 'irb'
 require 'irb/completion'
 require 'debugger'

找到了实例,但是回显了一个空白字符串。以下是启动shell的要求

JOIN

我尝试阅读rails源代码,但没有做得太远,主要是因为我并不知道我在寻找什么。我想我只是缺少对回声对象的一部分轨道的要求。

1 个答案:

答案 0 :(得分:0)

在ubuntu / osx的主路径中创建.irbrc并使用以下代码,它将起作用。您还可以添加其他宝石debuggerirb

# print SQL to STDOUT
if ENV.include?('RAILS_ENV') && !Object.const_defined?('RAILS_DEFAULT_LOGGER')
  require 'logger'
end

# Autocomplete
require 'irb/completion'

# Prompt behavior
ARGV.concat [ "--readline", "--prompt-mode", "simple" ]

# History
require 'irb/ext/save-history'
IRB.conf[:SAVE_HISTORY] = 100
IRB.conf[:HISTORY_FILE] = "#{ENV['HOME']}/.irb-save-history"

# Easily print methods local to an object's class
class Object
  def local_methods
    (methods - Object.instance_methods).sort
  end
end

# copy a string to the clipboard
def pbcopy(string)
  `echo "#{string}" | pbcopy`
  string
end
require "rubygems"