我想寫一個插件,需要做一個猴子補丁在上定義的所有路由添加約束Rails應用程序的routes.rb 我試着做下面的代碼在我猴子補丁,但這不起作用。什麼是正確的方式? Rails.configuration.to_prepare do
RedmineApp::Application.routes.routes.each do |route|
route.app.constrain
我正在爲我有的模塊編寫一些單元測試。我需要修補open,以便在測試模塊內的功能調用open時,使用模擬代替實際的open。 此代碼的工作,但我認爲這將打破了另一個測試,因爲沒有恢復open其原始值: class TestCases(unittest.TestCase):
def test_something(self):
from amodule import bmodule
我願意通過提供shuffle和shuffle!方法猴補丁Ruby的String類。 class String
def shuffle
self.split('').shuffle.join
end
end
它返回一個新的字符串。我怎樣才能寫一個shuffle!方法來修改字符串而不是返回複製? 我嘗試自己看着辦吧,但串的源代碼是在C語言中MRI。