pdfshop/app/services/recaptcha_verifier.rb

25 lines
665 B
Ruby

# recaptcha verifier
class RecaptchaVerifier
def self.verify(response, remote_ip, recaptcha_client = GoogleRecaptcha)
new(response, remote_ip, recaptcha_client).verify
end
def initialize(response, remote_ip, recaptcha_client)
@recaptcha_response = response
@remote_ip = remote_ip
@recaptcha_client = recaptcha_client.new
end
def verify
return false unless recaptcha_response
recaptcha_client.verify_recaptcha(response: recaptcha_response,
remoteip: remote_ip)
rescue StandardError
false
end
private
attr_reader :recaptcha_client, :recaptcha_response, :remote_ip
end