2012-02-27 66 views
0

我們正在使用紅寶石刻面作爲新項目,我需要'constantize'方法的等價物。 我知道我可以要求ActiveSupport,但我想知道,是Factes提供的還是我需要ActiveSupport的東西。等價的紅寶石刻面

回答

2

這不會回答「Facets提供的東西」是你問題的一部分,但它肯定回答了「或者我需要ActiveSupport」。這也說明了如何實際上是方法的實現,這是非常簡單的

class String 
    def constantize 
    self.split("::").inject(Module) {|acc, val| acc.const_get(val)} 
    end 
end 

編輯:對於什麼是值得的,刻面有一個constant方法,請參閱http://rubyworks.github.com/rubyfaux/?doc=http://rubyworks.github.com/facets/docs/facets-2.9.3/core.json#api-module-Kernel/api-method-Kernel-h-constant