acts_as_textcaptcha 4.0.0 → 4.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,11 @@
1
+ 4.1.0 (2 January 2014)
2
+ * Dropping support for Rails 2
3
+ * README updated
4
+ * CHANGELOG (this file) added
5
+
6
+ 4.0.0 (1 January 2014)
7
+ * Using a cache store to persist answers between requests
8
+ * README updated
9
+ * Test coverage improved
10
+
11
+ (no change log available for older releases)
@@ -1,10 +1,10 @@
1
1
  == ActAsTextcaptcha
2
2
 
3
- {<img src="https://secure.travis-ci.org/matthutchinson/acts_as_textcaptcha.png" alt="Travis Build Status" align="absmiddle"/>}[https://travis-ci.org/matthutchinson/acts_as_textcaptcha] {<img src="https://coveralls.io/repos/matthutchinson/acts_as_textcaptcha/badge.png" alt="Coverage Status" align="absmiddle" />}[https://coveralls.io/r/matthutchinson/acts_as_textcaptcha] {<img src="https://codeclimate.com/badge.png" align="absmiddle" alt="Code Climate Stats" />}[https://codeclimate.com/github/matthutchinson/acts_as_textcaptcha]
3
+ {<img src="https://secure.travis-ci.org/matthutchinson/acts_as_textcaptcha.png" alt="Travis Build Status" align="absmiddle"/>}[https://travis-ci.org/matthutchinson/acts_as_textcaptcha] {<img src="https://coveralls.io/repos/matthutchinson/acts_as_textcaptcha/badge.png" alt="Coverage Status" align="absmiddle" />}[https://coveralls.io/r/matthutchinson/acts_as_textcaptcha] {<img align="absmiddle" src="https://codeclimate.com/github/matthutchinson/acts_as_textcaptcha.png" />}[https://codeclimate.com/github/matthutchinson/acts_as_textcaptcha]
4
4
 
5
5
  ActsAsTextcaptcha provides spam protection for your Rails models using logic questions from the excellent {Text CAPTCHA}[http://textcaptcha.com/] web service (by {Rob Tuley}[http://openknot.com/me/] of {Openknot}[http://openknot.com/]). It is also possible to configure your own text captcha questions (instead, or as a fall back in the event of any remote API issues).
6
6
 
7
- This gem is actively maintained, has good test coverage and is compatible with Rails >= 2.3.8 (including Rails 3 and 4). If you have any issues {please report them here}[https://github.com/matthutchinson/acts_as_textcaptcha/issues/new].
7
+ This gem is actively maintained, has good test coverage and is compatible with Rails >= 3.0.0 (including Rails 4). If you have any issues {please report them here}[https://github.com/matthutchinson/acts_as_textcaptcha/issues/new].
8
8
 
9
9
  Logic questions from the web service are aimed at a child's age of 7, so they can be solved easily by even the most cognitively impaired users. As they involve human logic, questions cannot be solved by a robot. There are both advantages and disadvantages for using logic questions over image based captchas, {find out more at Text CAPTCHA}[http://textcaptcha.com/why].
10
10
 
@@ -14,31 +14,13 @@ Try a {working demo here}[http://textcaptcha.heroku.com]!
14
14
 
15
15
  == Installing
16
16
 
17
- === Rails
17
+ *NOTE:* The steps to configure your app changed with the v4.0.* release. If you are having problems please carefully check the steps or {upgrade instructions}[https://github.com/matthutchinson/acts_as_textcaptcha#upgrading-from-3010] below.
18
18
 
19
- Just add the following to your Gemfile, then `bundle install`;
19
+ First add the following to your Gemfile, then `bundle install`;
20
20
 
21
21
  gem 'acts_as_textcaptcha'
22
22
 
23
- === Rails 2.3.*
24
-
25
- Add this to your environment.rb file, then `gem install acts_as_textcaptcha`;
26
-
27
- config.gem 'acts_as_textcaptcha'
28
-
29
- === Or as a plugin (pre Rails 4)
30
-
31
- Install with rails or script/rails as follows;
32
-
33
- rails plugin install git@github.com:matthutchinson/acts_as_textcaptcha.git
34
- OR
35
- script/plugin install git@github.com:matthutchinson/acts_as_textcaptcha.git
36
-
37
- == Setting up
38
-
39
- *NOTE:* The steps to configure your app changed with the v4.0.* release. If you are having problems please carefully check the steps or {upgrade instructions}[https://github.com/matthutchinson/acts_as_textcaptcha#upgrading-from-3010] below.
40
-
41
- First {grab an API key for your website}[http://textcaptcha.com/api]. Next add the following code to any models you would like to protect;
23
+ Next {grab an API key for your website}[http://textcaptcha.com/api], then add the following code to models you would like to protect;
42
24
 
43
25
  class Comment < ActiveRecord::Base
44
26
  # (this is the simplest way to configure the gem, with an API key only)
@@ -54,7 +36,6 @@ Next in your controller's *new* action you'll want to generate and assign the lo
54
36
 
55
37
  Finally, in your form view add the textcaptcha question and answer fields using the textcaptcha_fields helper. Feel free to arrange the HTML within this block as you like;
56
38
 
57
- # for Rails 2.3.* change <%= to <% on the next line
58
39
  <%= textcaptcha_fields(f) do %>
59
40
  <div class="field">
60
41
  <%= f.label :textcaptcha_answer, @comment.textcaptcha_question %><br/>
@@ -78,15 +59,15 @@ Due to a relatively {large hole}[https://github.com/matthutchinson/acts_as_textc
78
59
  === Toggling Textcaptcha
79
60
 
80
61
  You can toggle textcaptcha on/off for your models by overriding the `perform_textcaptcha?` method. If it returns false, no questions will be fetched from
81
- the web service and textcaptcha validation is disabled.
62
+ the web service and textcaptcha validation is disabled.
82
63
 
83
- This is useful for writing your own custom logic for toggling spam protection on/off e.g. for logged in users. By default the `perform_textcaptcha?` method {checks if the form object is a new (unsaved) record}[https://github.com/matthutchinson/acts_as_textcaptcha/blob/master/lib/acts_as_textcaptcha/textcaptcha.rb#L54].
64
+ This is useful for writing your own custom logic for toggling spam protection on/off e.g. for logged in users. By default the `perform_textcaptcha?` method {checks if the form object is a new (unsaved) record}[https://github.com/matthutchinson/acts_as_textcaptcha/blob/master/lib/acts_as_textcaptcha/textcaptcha.rb#L54].
84
65
 
85
66
  So out of the box, spam protection is only enabled for creating new records (not updating). Here is a typical example showing how to overwrite the `perform_textcaptcha?` method, while maintaining the new record check.
86
67
 
87
68
  class Comment < ActiveRecord::Base
88
69
  acts_as_textcaptcha :api_key => 'YOUR_TEXTCAPTCHA_API_KEY'
89
-
70
+
90
71
  def perform_textcaptcha?
91
72
  super && user.admin?
92
73
  end
@@ -119,18 +100,13 @@ The gem can be configured for models individually (as shown above) or with a con
119
100
 
120
101
  rake textcaptcha:config
121
102
 
122
- *NOTE:* For Rails 2.3.*, you'll have to add the following to your Rakefile to reveal this task;
123
-
124
- # load textcaptcha rake tasks
125
- Dir["#{Gem.searcher.find('acts_as_textcaptcha').full_gem_path}/lib/tasks/**/*.rake"].each { |ext| load ext } if Gem.searcher.find('acts_as_textcaptcha')
126
-
127
103
  === Confguring _without_ the TextCAPTCHA web service
128
104
 
129
105
  To use only your own logic questions, simply ommit the api_key from the configuration and define at least 1 logic question and answer (see above).
130
106
 
131
107
  == Translations
132
108
 
133
- The gem uses the standard Rails I18n translation approach for error messages, with a fall-back to English. Unfortunately in some versions of Rails 2.3.* this translation fall-back fails. For this case (and when translating) setup your own locale file with this hierarchy (assuming your model is Comment);
109
+ The gem uses the standard Rails I18n translation approach (with a fall-back to English). Unfortunately at present, the Text CAPTCHA web service only provides logic questions in English.
134
110
 
135
111
  en:
136
112
  activerecord:
@@ -146,8 +122,6 @@ The gem uses the standard Rails I18n translation approach for error messages, wi
146
122
  comment:
147
123
  textcaptcha_answer: "Textcaptcha answer"
148
124
 
149
- *NOTE:* currently the Text CAPTCHA API web service only offers logic questions in English.
150
-
151
125
  == Without Rails or ActiveRecord
152
126
 
153
127
  Although this gem has been built with Rails in mind, is entirely possible to use it without ActiveRecord, or Rails. As an example, take a look at the {Contact}[https://github.com/matthutchinson/acts_as_textcaptcha/blob/master/test/test_models.rb#L44] model used in the test suite {here}[https://github.com/matthutchinson/acts_as_textcaptcha/blob/master/test/test_models.rb#L44].
@@ -180,7 +154,7 @@ For more details on the code please check the {documentation}[http://rdoc.info/p
180
154
 
181
155
  What do you need?
182
156
 
183
- * {Rails}[http://github.com/rails/rails] >= 2.3.8 (including Rails 3 and 4)
157
+ * {Rails}[http://github.com/rails/rails] >= 3.0.0 (including Rails 4)
184
158
  * {Rails.cache}[http://api.rubyonrails.org/classes/ActiveSupport/Cache/Store.html] - some basic cache configuration is nessecary
185
159
  * {Ruby}[http://ruby-lang.org/] >= 1.8.7 (also tested with REE, 1.9.2, 1.9.3, 2.0.0, 2.1.0)
186
160
  * {Text CAPTCHA API key}[http://textcaptcha.com/register] (_optional_, since you can define your own logic questions)
@@ -189,6 +163,18 @@ What do you need?
189
163
 
190
164
  *Note*: The built-in {TextcaptchaCache}[https://github.com/matthutchinson/acts_as_textcaptcha/blob/master/lib/acts_as_textcaptcha/textcaptcha_cache.rb] class directly wraps the {Rails.cache}[http://api.rubyonrails.org/classes/ActiveSupport/Cache/Store.html] object.
191
165
 
166
+ == Rails 2 support
167
+
168
+ Support for Rails 2 was dropped with the release of v4.1.0. If you would like to continue to use this gem with an older version of Rails (>= 2.3.8), please lock the version to `4.0.0`. Like so;
169
+
170
+ # in your Gemfile
171
+ gem 'acts_as_textcaptcha', '=4.0.0'
172
+
173
+ # or in environment.rb
174
+ config.gem 'acts_as_textcaptcha', :version => '=4.0.0'
175
+
176
+ Check out the {README}[https://github.com/matthutchinson/acts_as_textcaptcha/tree/v4.0.0] for this release for more information.
177
+
192
178
  == Links
193
179
 
194
180
  * {Demo}[http://textcaptcha.heroku.com]
@@ -219,10 +205,6 @@ After doing this, you should be able to install the gem with;
219
205
  # or with Bundler, specify the HighSecurity trust policy
220
206
  bundle install --trust-policy HighSecurity
221
207
 
222
- == Todo
223
-
224
- * Remove support for Rails 2.3.* in a future gem release (clean code and tests for this)
225
-
226
208
  == Usage
227
209
 
228
210
  This gem is used in a number of production websites and apps. It was originally extracted from code developed for {Bugle}[http://bugleblogs.com]. If you're happily using acts_as_textcaptcha in production, let me know and I'll add you to this list!
@@ -1,3 +1,3 @@
1
1
  require 'acts_as_textcaptcha/textcaptcha'
2
2
  require 'acts_as_textcaptcha/textcaptcha_helper'
3
- require "acts_as_textcaptcha/framework/rails#{Rails::VERSION::MAJOR < 3 ? 2 : nil}" if defined?(Rails)
3
+ require 'acts_as_textcaptcha/framework/rails' if defined?(Rails)
@@ -6,16 +6,6 @@ require 'acts_as_textcaptcha/textcaptcha_api'
6
6
 
7
7
  module ActsAsTextcaptcha
8
8
 
9
- # dont use Railtie if Rails < 3
10
- unless Rails::VERSION::MAJOR < 3
11
- class Railtie < ::Rails::Railtie
12
- rake_tasks do
13
- load "tasks/textcaptcha.rake"
14
- end
15
- end
16
- end
17
-
18
-
19
9
  module Textcaptcha #:nodoc:
20
10
 
21
11
  def acts_as_textcaptcha(options = nil)
@@ -16,12 +16,7 @@ module ActsAsTextcaptcha
16
16
  end
17
17
  end
18
18
 
19
- # Rails 2 compatability
20
- if Rails::VERSION::MAJOR < 3
21
- concat captcha_html, &block.binding
22
- else
23
- captcha_html.html_safe
24
- end
19
+ captcha_html.html_safe
25
20
  end
26
21
  end
27
22
  end
@@ -1,3 +1,3 @@
1
1
  module ActsAsTextcaptcha
2
- VERSION = "4.0.0"
2
+ VERSION = "4.1.0"
3
3
  end
@@ -27,8 +27,6 @@ require 'rails/all'
27
27
  I18n.config.enforce_available_locales = true
28
28
 
29
29
  require 'acts_as_textcaptcha'
30
- require 'textcaptcha_cache'
31
- require 'textcaptcha_api'
32
30
  require './test/test_models'
33
31
 
34
32
  # load and initialize test db schema
metadata CHANGED
@@ -1,186 +1,197 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: acts_as_textcaptcha
3
- version: !ruby/object:Gem::Version
4
- version: 4.0.0
3
+ version: !ruby/object:Gem::Version
4
+ hash: 59
5
+ prerelease:
6
+ segments:
7
+ - 4
8
+ - 1
9
+ - 0
10
+ version: 4.1.0
5
11
  platform: ruby
6
- authors:
12
+ authors:
7
13
  - Matthew Hutchinson
8
14
  autorequire:
9
15
  bindir: bin
10
- cert_chain:
16
+ cert_chain:
11
17
  - gem-public_cert.pem
12
- date: 2014-01-01 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
18
+ date: 2014-01-02 00:00:00 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
15
21
  name: mime-types
16
- requirement: !ruby/object:Gem::Requirement
17
- requirements:
18
- - - "~>"
19
- - !ruby/object:Gem::Version
22
+ version_requirements: &id001 !ruby/object:Gem::Requirement
23
+ none: false
24
+ requirements:
25
+ - - ~>
26
+ - !ruby/object:Gem::Version
27
+ hash: 113
28
+ segments:
29
+ - 1
30
+ - 25
31
+ - 1
20
32
  version: 1.25.1
21
- type: :development
22
33
  prerelease: false
23
- version_requirements: !ruby/object:Gem::Requirement
24
- requirements:
25
- - - "~>"
26
- - !ruby/object:Gem::Version
27
- version: 1.25.1
28
- - !ruby/object:Gem::Dependency
29
- name: rails
30
- requirement: !ruby/object:Gem::Requirement
31
- requirements:
32
- - - ">="
33
- - !ruby/object:Gem::Version
34
- version: '0'
35
34
  type: :development
35
+ requirement: *id001
36
+ - !ruby/object:Gem::Dependency
37
+ name: rails
38
+ version_requirements: &id002 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ hash: 3
44
+ segments:
45
+ - 0
46
+ version: "0"
36
47
  prerelease: false
37
- version_requirements: !ruby/object:Gem::Requirement
38
- requirements:
39
- - - ">="
40
- - !ruby/object:Gem::Version
41
- version: '0'
42
- - !ruby/object:Gem::Dependency
43
- name: bundler
44
- requirement: !ruby/object:Gem::Requirement
45
- requirements:
46
- - - ">="
47
- - !ruby/object:Gem::Version
48
- version: '0'
49
48
  type: :development
49
+ requirement: *id002
50
+ - !ruby/object:Gem::Dependency
51
+ name: bundler
52
+ version_requirements: &id003 !ruby/object:Gem::Requirement
53
+ none: false
54
+ requirements:
55
+ - - ">="
56
+ - !ruby/object:Gem::Version
57
+ hash: 3
58
+ segments:
59
+ - 0
60
+ version: "0"
50
61
  prerelease: false
51
- version_requirements: !ruby/object:Gem::Requirement
52
- requirements:
53
- - - ">="
54
- - !ruby/object:Gem::Version
55
- version: '0'
56
- - !ruby/object:Gem::Dependency
57
- name: minitest
58
- requirement: !ruby/object:Gem::Requirement
59
- requirements:
60
- - - ">="
61
- - !ruby/object:Gem::Version
62
- version: '0'
63
62
  type: :development
63
+ requirement: *id003
64
+ - !ruby/object:Gem::Dependency
65
+ name: minitest
66
+ version_requirements: &id004 !ruby/object:Gem::Requirement
67
+ none: false
68
+ requirements:
69
+ - - ">="
70
+ - !ruby/object:Gem::Version
71
+ hash: 3
72
+ segments:
73
+ - 0
74
+ version: "0"
64
75
  prerelease: false
65
- version_requirements: !ruby/object:Gem::Requirement
66
- requirements:
67
- - - ">="
68
- - !ruby/object:Gem::Version
69
- version: '0'
70
- - !ruby/object:Gem::Dependency
71
- name: simplecov
72
- requirement: !ruby/object:Gem::Requirement
73
- requirements:
74
- - - ">="
75
- - !ruby/object:Gem::Version
76
- version: '0'
77
76
  type: :development
77
+ requirement: *id004
78
+ - !ruby/object:Gem::Dependency
79
+ name: simplecov
80
+ version_requirements: &id005 !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ">="
84
+ - !ruby/object:Gem::Version
85
+ hash: 3
86
+ segments:
87
+ - 0
88
+ version: "0"
78
89
  prerelease: false
79
- version_requirements: !ruby/object:Gem::Requirement
80
- requirements:
81
- - - ">="
82
- - !ruby/object:Gem::Version
83
- version: '0'
84
- - !ruby/object:Gem::Dependency
85
- name: rdoc
86
- requirement: !ruby/object:Gem::Requirement
87
- requirements:
88
- - - ">="
89
- - !ruby/object:Gem::Version
90
- version: '0'
91
90
  type: :development
91
+ requirement: *id005
92
+ - !ruby/object:Gem::Dependency
93
+ name: rdoc
94
+ version_requirements: &id006 !ruby/object:Gem::Requirement
95
+ none: false
96
+ requirements:
97
+ - - ">="
98
+ - !ruby/object:Gem::Version
99
+ hash: 3
100
+ segments:
101
+ - 0
102
+ version: "0"
92
103
  prerelease: false
93
- version_requirements: !ruby/object:Gem::Requirement
94
- requirements:
95
- - - ">="
96
- - !ruby/object:Gem::Version
97
- version: '0'
98
- - !ruby/object:Gem::Dependency
99
- name: sqlite3
100
- requirement: !ruby/object:Gem::Requirement
101
- requirements:
102
- - - ">="
103
- - !ruby/object:Gem::Version
104
- version: '0'
105
104
  type: :development
105
+ requirement: *id006
106
+ - !ruby/object:Gem::Dependency
107
+ name: sqlite3
108
+ version_requirements: &id007 !ruby/object:Gem::Requirement
109
+ none: false
110
+ requirements:
111
+ - - ">="
112
+ - !ruby/object:Gem::Version
113
+ hash: 3
114
+ segments:
115
+ - 0
116
+ version: "0"
106
117
  prerelease: false
107
- version_requirements: !ruby/object:Gem::Requirement
108
- requirements:
109
- - - ">="
110
- - !ruby/object:Gem::Version
111
- version: '0'
112
- - !ruby/object:Gem::Dependency
113
- name: fakeweb
114
- requirement: !ruby/object:Gem::Requirement
115
- requirements:
116
- - - ">="
117
- - !ruby/object:Gem::Version
118
- version: '0'
119
118
  type: :development
119
+ requirement: *id007
120
+ - !ruby/object:Gem::Dependency
121
+ name: fakeweb
122
+ version_requirements: &id008 !ruby/object:Gem::Requirement
123
+ none: false
124
+ requirements:
125
+ - - ">="
126
+ - !ruby/object:Gem::Version
127
+ hash: 3
128
+ segments:
129
+ - 0
130
+ version: "0"
120
131
  prerelease: false
121
- version_requirements: !ruby/object:Gem::Requirement
122
- requirements:
123
- - - ">="
124
- - !ruby/object:Gem::Version
125
- version: '0'
126
- - !ruby/object:Gem::Dependency
127
- name: strong_parameters
128
- requirement: !ruby/object:Gem::Requirement
129
- requirements:
130
- - - ">="
131
- - !ruby/object:Gem::Version
132
- version: '0'
133
132
  type: :development
133
+ requirement: *id008
134
+ - !ruby/object:Gem::Dependency
135
+ name: strong_parameters
136
+ version_requirements: &id009 !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ">="
140
+ - !ruby/object:Gem::Version
141
+ hash: 3
142
+ segments:
143
+ - 0
144
+ version: "0"
134
145
  prerelease: false
135
- version_requirements: !ruby/object:Gem::Requirement
136
- requirements:
137
- - - ">="
138
- - !ruby/object:Gem::Version
139
- version: '0'
140
- - !ruby/object:Gem::Dependency
141
- name: coveralls
142
- requirement: !ruby/object:Gem::Requirement
143
- requirements:
144
- - - ">="
145
- - !ruby/object:Gem::Version
146
- version: '0'
147
146
  type: :development
147
+ requirement: *id009
148
+ - !ruby/object:Gem::Dependency
149
+ name: coveralls
150
+ version_requirements: &id010 !ruby/object:Gem::Requirement
151
+ none: false
152
+ requirements:
153
+ - - ">="
154
+ - !ruby/object:Gem::Version
155
+ hash: 3
156
+ segments:
157
+ - 0
158
+ version: "0"
148
159
  prerelease: false
149
- version_requirements: !ruby/object:Gem::Requirement
150
- requirements:
151
- - - ">="
152
- - !ruby/object:Gem::Version
153
- version: '0'
154
- - !ruby/object:Gem::Dependency
155
- name: pry
156
- requirement: !ruby/object:Gem::Requirement
157
- requirements:
158
- - - ">="
159
- - !ruby/object:Gem::Version
160
- version: '0'
161
160
  type: :development
161
+ requirement: *id010
162
+ - !ruby/object:Gem::Dependency
163
+ name: pry
164
+ version_requirements: &id011 !ruby/object:Gem::Requirement
165
+ none: false
166
+ requirements:
167
+ - - ">="
168
+ - !ruby/object:Gem::Version
169
+ hash: 3
170
+ segments:
171
+ - 0
172
+ version: "0"
162
173
  prerelease: false
163
- version_requirements: !ruby/object:Gem::Requirement
164
- requirements:
165
- - - ">="
166
- - !ruby/object:Gem::Version
167
- version: '0'
174
+ type: :development
175
+ requirement: *id011
168
176
  description: |-
169
177
  Simple question/answer based spam protection for your Rails models.
170
178
  You can define your own logic questions and/or fetch questions from the textcaptcha.com API.
171
179
  The questions involve human logic and are tough for spam bots to crack.
172
180
  For more reasons on why logic questions are a good idea visit; http://textcaptcha.com/why
173
- email:
181
+ email:
174
182
  - matt@hiddenloop.com
175
183
  executables: []
184
+
176
185
  extensions: []
177
- extra_rdoc_files:
186
+
187
+ extra_rdoc_files:
178
188
  - README.rdoc
179
189
  - LICENSE
180
- files:
181
- - ".coveralls.yml"
182
- - ".gitignore"
183
- - ".travis.yml"
190
+ files:
191
+ - .coveralls.yml
192
+ - .gitignore
193
+ - .travis.yml
194
+ - CHANGELOG
184
195
  - Gemfile
185
196
  - LICENSE
186
197
  - README.rdoc
@@ -191,7 +202,6 @@ files:
191
202
  - init.rb
192
203
  - lib/acts_as_textcaptcha.rb
193
204
  - lib/acts_as_textcaptcha/framework/rails.rb
194
- - lib/acts_as_textcaptcha/framework/rails2.rb
195
205
  - lib/acts_as_textcaptcha/textcaptcha.rb
196
206
  - lib/acts_as_textcaptcha/textcaptcha_api.rb
197
207
  - lib/acts_as_textcaptcha/textcaptcha_cache.rb
@@ -207,26 +217,36 @@ files:
207
217
  - test/textcaptcha_test.rb
208
218
  homepage: http://github.com/matthutchinson/acts_as_textcaptcha
209
219
  licenses: []
210
- metadata: {}
220
+
211
221
  post_install_message:
212
222
  rdoc_options: []
213
- require_paths:
223
+
224
+ require_paths:
214
225
  - lib
215
- required_ruby_version: !ruby/object:Gem::Requirement
216
- requirements:
226
+ required_ruby_version: !ruby/object:Gem::Requirement
227
+ none: false
228
+ requirements:
217
229
  - - ">="
218
- - !ruby/object:Gem::Version
219
- version: '0'
220
- required_rubygems_version: !ruby/object:Gem::Requirement
221
- requirements:
230
+ - !ruby/object:Gem::Version
231
+ hash: 3
232
+ segments:
233
+ - 0
234
+ version: "0"
235
+ required_rubygems_version: !ruby/object:Gem::Requirement
236
+ none: false
237
+ requirements:
222
238
  - - ">="
223
- - !ruby/object:Gem::Version
224
- version: '0'
239
+ - !ruby/object:Gem::Version
240
+ hash: 3
241
+ segments:
242
+ - 0
243
+ version: "0"
225
244
  requirements: []
245
+
226
246
  rubyforge_project:
227
- rubygems_version: 2.2.0
247
+ rubygems_version: 1.8.25
228
248
  signing_key:
229
- specification_version: 4
230
- summary: Spam protection for your models via logic questions and the textcaptcha.com
231
- API
249
+ specification_version: 3
250
+ summary: Spam protection for your models via logic questions and the textcaptcha.com API
232
251
  test_files: []
252
+
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: 98ad0396a537ab06e540f42880d1fcd24993f59c
4
- data.tar.gz: 57ee900760402ed0cc2e22c609efe2d550b841c4
5
- SHA512:
6
- metadata.gz: aa692657b0f23e1fc0410cfa5c8f996c6465148b09fa0f4ab17d47f1f1008b2db5fe3c42f5f2a777d729645589f6e5883d9dd25c7f03a49396e5de79ec20b1a4
7
- data.tar.gz: 2e53ec3dc94736c4ccaeba1fa5670b6e79d0c74e8e191d25b8bf7e0643493293999253d05aa60b73176b8e44fc20d3f9e7ef901fe934ed9a7f274e83f079978d
@@ -1,2 +0,0 @@
1
- ActiveRecord::Base.extend ActsAsTextcaptcha::Textcaptcha
2
- ActionView::Base.send(:include, ActsAsTextcaptcha::TextcaptchaHelper)