Sha256: 238cd1805fae6372ed8f1fee18c68b22d7a0ed525586b82af73a293d40a1593f
Contents?: true
Size: 1.31 KB
Versions: 2
Compression:
Stored size: 1.31 KB
Contents
module EasyCaptcha # helper class for ActionController module ControllerHelpers def self.included(base) #:nodoc: base.class_eval do helper_method :valid_captcha? end end # generate captcha image and return it as blob def generate_captcha if EasyCaptcha.cache FileUtils.mkdir_p(EasyCaptcha.cache_temp_dir) files = Dir.glob(EasyCaptcha.cache_temp_dir + "*") unless files.size < EasyCaptcha.cache_size file = File.open(files.at(Kernel.rand(files.size))) if file.mtime < EasyCaptcha.cache_expire.ago File.unlink(file.path) else return file.readlines.join end end generated_code = generate_captcha_code Captcha.new(generated_code, EasyCaptcha.cache_temp_dir + "#{generated_code}").image else Captcha.new(generate_captcha_code).image end end # generate captcha code, save in session and return def generate_captcha_code session[:captcha] = EasyCaptcha.length.times.collect { EasyCaptcha.chars[rand(EasyCaptcha.chars.size)] }.join end # validate given captcha code and re def valid_captcha?(code) return false if session[:captcha].blank? or code.blank? session[:captcha].to_s.upcase == code.to_s.upcase end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
easy_captcha-0.2.2 | lib/easy_captcha/controller_helpers.rb |
easy_captcha-0.2.0 | lib/easy_captcha/controller_helpers.rb |