我正在構建一個有關Ruby on Rails是否存在的條件邏輯的gem。一些僞代碼從gem_name/lib/gem_name.rb
在初始化初始化時檢查Rails
# do stuff for all situations
if [Rails is present]
# do extra rails stuff
end
什麼是在寶石內執行這樣的檢查的標準方式是什麼?
我正在構建一個有關Ruby on Rails是否存在的條件邏輯的gem。一些僞代碼從gem_name/lib/gem_name.rb
在初始化初始化時檢查Rails
# do stuff for all situations
if [Rails is present]
# do extra rails stuff
end
什麼是在寶石內執行這樣的檢查的標準方式是什麼?
我會去的:
if defined?(Rails)
...
end
查找文檔defined?
這裏:http://ruby-doc.org/docs/keywords/1.9/Object.html#method-i-defined-3F
該方法定義在哪裏?我似乎無法找到它'ruby-doc.org' – 2014-11-22 02:24:33
http://ruby-doc.org/docs/keywords/1.9/Object.html#method-i-defined-3F – 2014-11-22 16:33:53
需要注意的是,這取決於你的使用情況,您可能希望檢測的ActiveRecord或者一些其他的Rails庫,而不是。另外,一般來說,我更喜歡手動的init代碼,以神奇的代碼。 – 2014-11-22 01:05:54