检测Rails版本的插件兼容性的最佳实践?

jcn*_*ghm 6 ruby-on-rails ruby-on-rails-3

我正在为Rails 3.0.5升级插件,特别是这个提交.从本质上讲,ActiveRecord需要proc而不是字符串来进行条件插值.

一般来说,我认为处理这样​​的事情的最好方法是使用respond_to?调用,但在这种情况下,所有被更改的方法都是私有的.检查rails版本的最佳做法是什么,以便插件可以为新版本提供proc,旧版本为字符串?我宁愿不依赖于检查私有方法是否存在,因为这可能会在将来中断.

Dyl*_*kow 13

Rails.version
# => "3.0.5"
Rails::VERSION::MAJOR
# => 3
Rails::VERSION::MINOR
# => 0
Rails::VERSION::TINY
# => 5
Run Code Online (Sandbox Code Playgroud)