ruby-on-rails - 我如何判断是否使用了出售的 gem?

标签 ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.1 rubygems

我继承了一个以前由多个开发人员传递的旧项目。它的状况很糟糕,所以我正在努力让它起死回生。我注意到有一些 gems 和 libs 已经被出售到项目中,但无法判断它们是否正在被使用或者是什么!

如果项目不再使用其中一些 gem,我该如何锻炼?

最佳答案

检查这一点的便捷方法是使用 REPL。我建议安装 pry-rails gem,它将简单地用更强大的 Pry REPL 替换默认的 rails 控制台 (IRB) .

#Gemfile

group :development do
  pry-rails
end

运行 bundle install,然后使用 bundle exec rails c 启动 Rails 控制台。进入 Pry 后,您可以使用其内置的 show-source 命令来查找特定方法的实现位置。示例:

 >> show-source ActiveRecord::Base.establish_connection

 From: /home/andrea/.rvm/gems/ruby-1.9.3-p125/gems/activerecord-3.2.12/lib/active_record/connection_adapters/abstract/connection_specification.rb @ line 128:
 Owner: #<Class:ActiveRecord::Base>
 Visibility: public
 Number of lines: 11

 def self.establish_connection(spec = ENV["DATABASE_URL"])
   resolver = ConnectionSpecification::Resolver.new spec, configurations
   spec = resolver.spec

   unless respond_to?(spec.adapter_method)
     raise AdapterNotFound, "database configuration specifies nonexistent #   {spec.config[:adapter]} adapter"
   end
   remove_connection
   connection_handler.establish_connection name, spec
 end

有关如何使用此特定内置命令的更多用法示例,请参阅 Pry 的内联 help 系统:

   help show-source

或者看看 Source browsing页面,在 Pry 的维基上。

关于ruby-on-rails - 我如何判断是否使用了出售的 gem?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15460265/

相关文章:

python - SPA (Ember) 身份验证与后端

ruby-on-rails - 将字符串转换为 ActiveRecord 查询

html - 根据宽度渲染动态生成的背景

ruby-on-rails - 在 Rails 中发送项目邀请

ruby-on-rails - 从错误的完整错误消息中删除前缀属性名称[:base]

javascript - 如何在 Ruby 中使用 Google map 库?

ruby-on-rails - 将属性验证为仅整数

ruby - 移动 Ruby 安装导致它无法运行。如何解决这个问题?

ruby-on-rails-3 - Rails 3.2 ActiveRecord session 存储不工作

ruby-on-rails-3 - 为什么 Controller 变量在测试中不可用?