Module: RuCaptcha::ControllerHelpers

Extended by:
ActiveSupport::Concern
Defined in:
lib/rucaptcha/controller_helpers.rb

Instance Method Summary collapse

Instance Method Details

#generate_rucaptchaObject



9
10
11
12
13
14
# File 'lib/rucaptcha/controller_helpers.rb', line 9

def generate_rucaptcha
  session[:_rucaptcha]   = RuCaptcha::Captcha.random_chars
  session[:_rucaptcha_at] = Time.now.to_i

  RuCaptcha::Captcha.create(session[:_rucaptcha])
end

#verify_rucaptcha?(resource = nil) ⇒ Boolean

Returns:

  • (Boolean)


16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/rucaptcha/controller_helpers.rb', line 16

def verify_rucaptcha?(resource = nil)
  rucaptcha_at = session[:_rucaptcha_at].to_i
  # Captcha chars in Session expire in 2 minutes
  if (Time.now.to_i - rucaptcha_at) > RuCaptcha.config.expires_in
    return false
  end

  right = params[:_rucaptcha].present? && session[:_rucaptcha].present? &&
          params[:_rucaptcha].downcase.strip == session[:_rucaptcha]
  if resource && resource.respond_to?(:errors)
    resource.errors.add(:base, t('rucaptcha.invalid')) unless right
  end
  right
end