Sha256: 3a17b316fd15a58cddd02b6a168a142a7de21c81ff5b874fd5a7b0622ca4f8ba

Contents?: true

Size: 669 Bytes

Versions: 4

Compression:

Stored size: 669 Bytes

Contents

module SimpleCaptcha
  class SimpleCaptchaData
    include Mongoid::Document
    
    field :key, :type => String
    field :value, :type => String
    field :created_at, :type => Time, default: -> { Time.now }
    
    class << self
      def get_data(key)
        data = SimpleCaptchaData.where(:key => key).first || new(:key => key)
      end
      
      def remove_data(key)
        SimpleCaptchaData.where(:key => key).first.delete
        clear_old_data(1.hour.ago)
      end
      
      def clear_old_data(time = 1.hour.ago)
        return unless Time === time
        SimpleCaptchaData.where(:updated_at.lt => time.utc).delete_all
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 2 rubygems

Version Path
glebtv-simple_captcha-0.2.1 lib/simple_captcha/simple_captcha_data_mongoid.rb
glebtv-simple_captcha-0.2.0 lib/simple_captcha/simple_captcha_data_mongoid.rb
glebtv-simple_captcha-0.1.6 lib/simple_captcha/simple_captcha_data.rb
wolcanus-simple_captcha-0.1.6 lib/simple_captcha/simple_captcha_data.rb