Pec*_*eck 3 ruby gem patch ruby-on-rails
我对这个术语100%肯定,对于rails世界来说仍然相对较新,所以请原谅,如果我与猴子补丁相距太远,那么在这种情况下可能不适用.
我正在使用一个延长缩短网址的宝石LongURL.默认情况下,gem使用longurl.org,但我们每天推送几十万个网址,并认为每个人都可以在内部提供该服务.我只需要更改2个常量来指向我自己的url.
module LongURL
ShortURLMatchRegexp = /http:\/\/[\/\-_.a-z0-9]+/im
# Urls for longurl
EndPoint = URI.parse("http://api.longurl.org/v1/expand")
ServiceEndPoint = URI.parse("http://api.longurl.org/v1/services")
end
Run Code Online (Sandbox Code Playgroud)
看起来似乎没有这么小的变化值得分叉,什么是好的,轨道惯用的?,做这样的小改动的方法?
谢谢
当您重新定义常量时,您需要先删除旧的常量,然后重新应用新的常量.您的补丁可能如下所示:
module LongURL
remove_const(:ShortURLMatchRegexp)
ShortURLMatchRegexp = /http:\/\/[\/\-_.a-z0-9]+/im
# ... (etc) ...
end
Run Code Online (Sandbox Code Playgroud)
这应该有助于避免重新定义现有const的警告.
至于制作Railsy,把它放入config/initializers并确保它有明确的标签,或许longurl_monkeypatch.rb这样就不会混淆什么样的hackery正在发生.
| 归档时间: |
|
| 查看次数: |
1108 次 |
| 最近记录: |