module Recaptcha

Constants

CONFIG
DEFAULT_TIMEOUT
HANDLE_TIMEOUTS_GRACEFULLY
USE_SSL_BY_DEFAULT
VERSION

Public Class Methods

configuration() click to toggle source

Gives access to the current Configuration.

# File lib/recaptcha.rb, line 25
def self.configuration
  @configuration ||= Configuration.new
end
configure() { |config| ... } click to toggle source

Allows easy setting of multiple configuration options. See Configuration for all available options.

# File lib/recaptcha.rb, line 35
def self.configure
  config = configuration
  yield(config)
end
get(verify_hash, options) click to toggle source
# File lib/recaptcha.rb, line 53
def self.get(verify_hash, options)
  http = if Recaptcha.configuration.proxy
    proxy_server = URI.parse(Recaptcha.configuration.proxy)
    Net::HTTP::Proxy(proxy_server.host, proxy_server.port, proxy_server.user, proxy_server.password)
  else
    Net::HTTP
  end
  query = URI.encode_www_form(verify_hash)
  uri = URI.parse(Recaptcha.configuration.verify_url + '?' + query)
  http_instance = http.new(uri.host, uri.port)
  http_instance.read_timeout = http_instance.open_timeout = options[:timeout] || DEFAULT_TIMEOUT
  http_instance.use_ssl = true if uri.port == 443
  request = Net::HTTP::Get.new(uri.request_uri)
  http_instance.request(request).body
end
i18n(key, default) click to toggle source
# File lib/recaptcha.rb, line 69
def self.i18n(key, default)
  if defined?(I18n)
    I18n.translate(key, default: default)
  else
    default
  end
end
with_configuration(config) { || ... } click to toggle source
# File lib/recaptcha.rb, line 40
def self.with_configuration(config)
  original_config = {}

  config.each do |key, value|
    original_config[key] = configuration.send(key)
    configuration.send("#{key}=", value)
  end

  yield if block_given?
ensure
  original_config.each { |key, value| configuration.send("#{key}=", value) }
end