kaptcha 0.0.3.8 → 0.0.5.1
Sign up to get free protection for your applications and to get access to all the features.
- data/config/locales/kaptcha.en.yml +11 -0
- data/lib/core/kaptcha.rb +9 -13
- data/lib/kaptcha.rb +5 -0
- metadata +3 -2
data/lib/core/kaptcha.rb
CHANGED
@@ -10,13 +10,13 @@ module Captcha
|
|
10
10
|
|
11
11
|
def has_captcha
|
12
12
|
send(:include, InstanceMethods)
|
13
|
+
send(:after_find, :initialize_kaptcha)
|
13
14
|
end
|
14
15
|
|
15
16
|
end
|
16
17
|
|
17
18
|
module InstanceMethods
|
18
19
|
|
19
|
-
|
20
20
|
# @comment.human_captcha_desc
|
21
21
|
# %input{:type => 'text', :name => 'comment[captcha_form_result]', :autocomplete => :off, :style => 'width: 50px; display: inline;'}
|
22
22
|
# = f.hidden_field :captcha_code, :value => @comment.captcha_desc
|
@@ -32,7 +32,7 @@ module Captcha
|
|
32
32
|
OPERATIONS = ['+', '-', '*']
|
33
33
|
|
34
34
|
def captcha_code
|
35
|
-
@@captcha_code.to_s ||= raise '
|
35
|
+
@@captcha_code.to_s ||= raise 'Captcha undefined error.'
|
36
36
|
end
|
37
37
|
|
38
38
|
def initialize(params={}, &block)
|
@@ -40,24 +40,20 @@ module Captcha
|
|
40
40
|
super(params, &block)
|
41
41
|
end
|
42
42
|
|
43
|
-
def after_initialize
|
44
|
-
initialize_kaptcha unless captcha_desc || human_captcha_desc
|
45
|
-
end
|
46
|
-
|
47
43
|
def validate
|
48
44
|
unless captcha_form_result == captcha_code
|
49
45
|
initialize_kaptcha
|
50
|
-
|
46
|
+
errors.add(:captcha_code, I18n.t('view.captcha.error_code'))
|
51
47
|
end
|
52
48
|
true
|
53
49
|
end
|
54
50
|
|
55
51
|
def captcha_desc
|
56
|
-
@@captcha_desc
|
52
|
+
@@captcha_desc
|
57
53
|
end
|
58
54
|
|
59
55
|
def human_captcha_desc
|
60
|
-
@@human_captcha_desc
|
56
|
+
@@human_captcha_desc
|
61
57
|
end
|
62
58
|
|
63
59
|
private
|
@@ -83,15 +79,15 @@ module Captcha
|
|
83
79
|
|
84
80
|
case captcha_operation.to_s
|
85
81
|
when '-'
|
86
|
-
|
82
|
+
human_captcha_operation = I18n.t('view.captcha.operations.minus')
|
87
83
|
when '+'
|
88
|
-
|
84
|
+
human_captcha_operation = I18n.t('view.captcha.operations.plus')
|
89
85
|
when '*'
|
90
|
-
|
86
|
+
human_captcha_operation = I18n.t('view.captcha.operations.multiply_by')
|
91
87
|
end
|
92
88
|
|
93
89
|
@@captcha_desc = "#{captcha_a} #{captcha_operation} #{captcha_b}"
|
94
|
-
@@human_captcha_desc =
|
90
|
+
@@human_captcha_desc = I18n.t('view.captcha.human_line', :num_a => captcha_a, :operation => human_captcha_operation, :num_b => captcha_b)
|
95
91
|
|
96
92
|
@@captcha_code = captcha_a.send(captcha_operation, captcha_b)
|
97
93
|
end
|
data/lib/kaptcha.rb
CHANGED
@@ -5,3 +5,8 @@ require File.join(File.dirname(__FILE__), 'core/kaptcha')
|
|
5
5
|
if defined?(ActiveRecord::Base)
|
6
6
|
ActiveRecord::Base.send :include, Captcha
|
7
7
|
end
|
8
|
+
|
9
|
+
if defined? I18n
|
10
|
+
I18n.load_path += Dir.glob(File.expand_path('../../config/locales/kaptcha.en.yml', __FILE__))
|
11
|
+
end
|
12
|
+
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kaptcha
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-01-
|
12
|
+
date: 2012-01-15 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: Form protection with simple captcha calculations.
|
15
15
|
email:
|
@@ -19,6 +19,7 @@ extra_rdoc_files: []
|
|
19
19
|
files:
|
20
20
|
- lib/core/kaptcha.rb
|
21
21
|
- lib/kaptcha.rb
|
22
|
+
- config/locales/kaptcha.en.yml
|
22
23
|
- Rakefile
|
23
24
|
- Gemfile
|
24
25
|
- README.rdoc
|