* Specs for FuctionCaller * Fix accepting nil values from AWS lambda * Specs for the black_box #2524 * Spec for BlackBox#comment_quality_score * Remove vcr cassette usage from the CouponGenerator spec
20 lines
507 B
Ruby
20 lines
507 B
Ruby
class FunctionCaller
|
|
def initialize(function_name, payload, aws_lambda_client = AWS_LAMBDA)
|
|
@function_name = function_name
|
|
@payload = payload
|
|
@aws_lambda_client = aws_lambda_client
|
|
end
|
|
|
|
def self.call(*args)
|
|
new(*args).call
|
|
end
|
|
|
|
def call
|
|
response = aws_lambda_client.invoke(function_name: function_name, payload: payload)
|
|
JSON.parse(JSON.parse(response.payload.as_json[0])["body"])["message"]
|
|
end
|
|
|
|
private
|
|
|
|
attr_reader :function_name, :payload, :aws_lambda_client
|
|
end
|