acts_as_textcaptcha 2.1.4 → 2.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,36 @@
1
+ development: &non_production_settings
2
+ api_key: 8u5ixtdnq9csc84cok0owswgo
3
+ # bcrypt can be used to encrypt valid possible answers in your session; http://bcrypt-ruby.rubyforge.org/
4
+ # (recommended if you are using cookie session storage)
5
+ # NOTE: bcrypt_salt must be a valid bcrypt salt; for security PLEASE CHANGE THIS, open irb and enter; require 'bcrypt'; BCrypt::Engine.generate_salt
6
+ bcrypt_salt: $2a$10$j0bmycH.SVfD1b5mpEGPpe
7
+ # an optional logarithmic var which determines how computational expensive the hash is to calculate (a cost of 4 is twice as much work as a cost of 3)
8
+ bcrypt_cost: 10 # default is 10, must be > 4 (large number means slower encryption)
9
+ # if you'd rather NOT use bcrypt, just remove these two settings, bcrypt_salt and bcrypt_cost, valid possible answers will be MD5 digested in your session
10
+ questions:
11
+ - question: 'Is ice hot or cold?'
12
+ answers: 'cold'
13
+ - question: 'what color is an orange?'
14
+ answers: 'orange'
15
+ - question: 'what is two plus 3?'
16
+ answers: '5,five'
17
+ - question: 'what is 5 times two?'
18
+ answers: '10,ten'
19
+ - question: 'How many colors in the list, green, brown, foot and blue?'
20
+ answers: '3,three'
21
+ - question: 'what is Georges name?'
22
+ answers: 'george'
23
+ - question: '11 minus 1?'
24
+ answers: '10,ten'
25
+ - question: 'is boiling water hot or cold?'
26
+ answers: 'hot'
27
+ - question: 'what color is my blue shirt today?'
28
+ answers: 'blue'
29
+ - question: 'what is 16 plus 4?'
30
+ answers: '20,twenty'
31
+
32
+ test:
33
+ *non_production_settings
34
+
35
+ production:
36
+ *non_production_settings
@@ -4,4 +4,4 @@ end
4
4
 
5
5
  ActiveSupport.on_load(:action_controller) do
6
6
  include ActsAsTextcaptcha::TextcaptchaHelper
7
- end
7
+ end
@@ -15,6 +15,13 @@ rescue LoadError => e
15
15
  end
16
16
 
17
17
  module ActsAsTextcaptcha
18
+
19
+ class Railtie < ::Rails::Railtie
20
+ rake_tasks do
21
+ load "tasks/textcaptcha.rake"
22
+ end
23
+ end
24
+
18
25
  module Textcaptcha #:nodoc:
19
26
 
20
27
  def acts_as_textcaptcha(options = nil)
@@ -45,9 +52,9 @@ module ActsAsTextcaptcha
45
52
  # if returning false model.validate will always be false with errors on base
46
53
  def allowed?; true end
47
54
 
48
- def validate_textcaptcha
55
+ def validate_textcaptcha
49
56
  # if not new_record? we dont spam check on existing records (ie. no spam check on updates/edits)
50
- if !respond_to?('new_record?') || new_record?
57
+ if !respond_to?('new_record?') || new_record?
51
58
  if allowed?
52
59
  if possible_answers && perform_spam_check? && !validate_spam_answer
53
60
  errors.add(:spam_answer, 'is incorrect, try another question instead')
@@ -0,0 +1,23 @@
1
+ namespace :textcaptcha do
2
+ desc "Adds a textcaptcha.yml template config file to ./config "
3
+ task :generate_config do
4
+
5
+ src = File.join(File.dirname(__FILE__), '../..', 'config', 'textcaptcha.yml')
6
+ dest = File.join(Rails.root, 'config', 'textcaptcha.yml')
7
+ if File.exist?(dest)
8
+ puts "\ntextcaptcha config file: #{dest}\n ... already exists. Aborting.\n\n"
9
+ else
10
+ config_file = ''
11
+ f = File.open(src, 'r')
12
+ f.each_line { |line| config_file += line }
13
+ config_file.gsub!(/api\_key\:(.+)$/, 'api_key: # get one at http://textcaptcha.com' )
14
+ config_file.gsub!(/bcrypt\_salt\:(.+)$/, "bcrypt_salt: #{BCrypt::Engine.generate_salt}" ) if defined?(BCrypt)
15
+
16
+ f = File.new(dest, 'w')
17
+ f.write(config_file)
18
+ f.close
19
+ puts "\ntextcaptcha.yml generated at #{dest} (with a new BCrypt salt).\nNOTE: edit this file and add your textcaptcha api key (from http://textcaptcha.com)"
20
+ end
21
+
22
+ end
23
+ end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: acts_as_textcaptcha
3
3
  version: !ruby/object:Gem::Version
4
- hash: 3
4
+ hash: 1
5
5
  prerelease: false
6
6
  segments:
7
7
  - 2
8
8
  - 1
9
- - 4
10
- version: 2.1.4
9
+ - 5
10
+ version: 2.1.5
11
11
  platform: ruby
12
12
  authors:
13
13
  - Matthew Hutchinson
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-09-17 00:00:00 +01:00
18
+ date: 2010-09-20 00:00:00 +01:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -47,11 +47,13 @@ extra_rdoc_files:
47
47
  - LICENSE
48
48
  - README.rdoc
49
49
  files:
50
+ - config/textcaptcha.yml
50
51
  - lib/acts_as_textcaptcha.rb
51
52
  - lib/acts_as_textcaptcha/framework/rails2.rb
52
53
  - lib/acts_as_textcaptcha/framework/rails3.rb
53
54
  - lib/acts_as_textcaptcha/textcaptcha.rb
54
55
  - lib/acts_as_textcaptcha/textcaptcha_helper.rb
56
+ - lib/tasks/textcaptcha.rake
55
57
  - LICENSE
56
58
  - README.rdoc
57
59
  - spec/acts_as_textcaptcha_spec.rb