0

我正在使用该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来执行一些自定义功能。

如果不编辑库本身的源代码,我将如何做到这一点?

4

2 回答 2

1

猴子补丁一些方法 - 在 ruby​​ 中,您可以再次打开类并添加一些方法,或者使用一些技术,如

模块 MyPatches
  def query_with_aliases
    # 代码在这里...
  结尾
结尾

TargetClass.send :include, MyPatches
于 2013-07-21T20:07:24.510 回答
1

您可以再次打开该类并添加您想要的任何方法。

尽管确切的含义尚有争议,但这被称为猴子补丁。有些人认为猴子补丁只覆盖/重新定义现有方法(这可能有点危险),其他人考虑任何类型的打开现有类并添加任何东西,即使它们是新方法。

在您的特定情况下,您可以像这样对 Restforce 的客户端类进行猴子补丁:

class Restforce::Data::Client
  def query_with_aliases

    # PUT YOUR CODE HERE

  end    
end

内部的所有其他方法Client都将保持现有和正常运行,您只需添加query_with_aliases.

于 2013-07-21T20:30:08.643 回答