我正在使用Restforce
库来执行一些Salesforce查询。要进行查询,我通常会执行以下操作:
client = Restforce.new :username => 'user', :password => 'pass', :security_token => 'token', :client_id => 'client_id', :client_secret => 'client_secret'
然后致电client.query
查询Salesforce。
我想创建一个名为query_with_alises
的自定义方法,以便我可以调用client.query_with_aliases
来执行一些自定义功能。
如果不编辑库本身的源代码,我该怎么做?
答案 0 :(得分:1)
Monkey-patch一些方法 - 在ruby中你可以再次打开类并添加一些方法, 或者使用像
这样的技巧module MyPatches def query_with_aliases # code here... end end TargetClass.send :include, MyPatches
答案 1 :(得分:1)
您可以再次打开课程并添加所需的任何方法。
虽然确切的含义是争论的问题,但这被称为猴子补丁。有些人认为猴子修补仅覆盖/重新定义现有方法(这可能有点危险),其他考虑任何类型的打开现有类并添加任何东西,即使它们是新方法。
在您的特定情况下,您可以像这样从Restforce中修补客户端类:
class Restforce::Data::Client
def query_with_aliases
# PUT YOUR CODE HERE
end
end
Client
内的其他所有方法都会保持现有和正常运行,您只会添加query_with_aliases
。