【问题标题】:Rake: ArgumentError: unknown keywords: when passing method parametersRake:ArgumentError:未知关键字:传递方法参数时
【发布时间】:2019-11-03 10:00:22
【问题描述】:

我正在开发一个纯 Ruby 应用程序,我正在尝试创建一个 Rake 任务。我在文件src/lambda_function.rb 中有一个方法如下:

def self.process(event:, context: nil, box_api: BoxApi.new, form: nil, sns: SNS.new, kms: KMS.new)
            begin
                # verify request came from fromstack from headers
                verify_webhook_req(event)

                # parse data
                submission = JSON.parse(event["body"])
                form_id = submission.fetch("FormID").strip()
                submission_id = submission.fetch("UniqueID").strip()

从上面的 sn-p 可以看出,该函数接受以下参数: event:, context:, box_api:, form:, sns:, kms: 所以在 rake 任务中我通过了以下内容:

require './src/lambda_function.rb'
require 'rake'
require 'pry'
include Rake::DSL


class KMS
    def initialize
    end

    def decrypt(key)
       return 'some password'
    end
end

class SNS
    def initialize
    end
end

namespace :test do
  namespace :lambda do
    desc 'Run the Lambda process function'
    task :process  do
      TEST_FORM_ID=3353951
      LambdaFunctions::LambdaHandler.process(box_api: BoxApi.new,
                                             form: TEST_FORM_ID,
                                             sns: SNS.new,
                                             kms: KMS.new)
    end
  end
end

但是调用这个rake任务会报错:

rake aborted!
ArgumentError: unknown keywords: box_api, form

它怎么不识别formbox_api。起初,我想也许我错过了传递参数的哈希值。 {box_api: BoxApi.new, form: ....}` 这也不起作用。

为什么会抛出错误?

【问题讨论】:

    标签: ruby rake rake-task


    【解决方案1】:

    我正在调用具有不同参数的不同类中的方法。

    class WebhookHandler
                def self.process(event:, context: nil, box_api: BoxApi.new, form: nil, sns: SNS.new, kms: KMS.new)
                    begin
                        # verify request came from fromstack from headers
                        verify_webhook_req(event)
    

    【讨论】:

      猜你喜欢
      • 2023-03-08
      • 2014-03-05
      • 1970-01-01
      • 2019-12-17
      • 1970-01-01
      • 1970-01-01
      • 2023-03-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多