code: def decode_recaptcha_v2!(options = {})
        started_at = Time.now
  
        fail(TwoCaptcha::GoogleKey) if options[:googlekey].empty?
  
        upload_options = {
          method: 'userrecaptcha',
          googlekey: options[:googlekey],
          pageurl: options[:pageurl]
        }
        decoded_captcha = upload(upload_options)
  
        # pool untill the answer is ready
        while decoded_captcha.text.to_s.empty?
          sleep([polling, 10].max) # sleep at least 10 seconds
          decoded_captcha = captcha(decoded_captcha.id)
          fail TwoCaptcha::Timeout if (Time.now - started_at) > timeout
        end
  
        decoded_captcha
      end
docs: Solve reCAPTCHA v2.
  
   @param [Hash] options Options hash.
   @option options [String]  :googlekey The open key of the site in which recaptcha is installed.
   @option options [String]  :pageurl The URL of the page where the recaptcha is encountered.
  
   @return [TwoCaptcha::Captcha] The solution of the given captcha.