acts_as_textcaptcha 4.1.1 → 4.1.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: f35995a8199f3941f0f25e19493b8ce0ace5e9f4
4
+ data.tar.gz: e7ab7133d65ac5a2b18ab957604a43fdb9055dd6
5
+ SHA512:
6
+ metadata.gz: 22513b29f7bca5cd3fdafcc008e2b28706043460f1ec5c5f5ee5257700e5391e490d6b1c4788f9589daa13cacfe7b127936f687595e348626a0eb3da55e3f7e5
7
+ data.tar.gz: 3c7abfa93194c776ee1ba6d241093224637d6fed600245b6cb216faa45081fe7d3a409a04cf5ddfc17ca0c56e9c2e9c6cc32da65cdb97213ec189e4f077f614b
@@ -1,10 +1,10 @@
1
+ language: ruby
1
2
  before_install:
2
- - gem update --system 2.1.11
3
+ - gem update --system
4
+ - gem install json sqlite3
3
5
  - gem --version
4
6
  rvm:
5
- - 1.8.7
6
7
  - 1.9.2
7
8
  - 1.9.3
8
9
  - 2.0.0
9
- - 2.1.0
10
- - ree
10
+ - 2.1.1
data/CHANGELOG CHANGED
@@ -1,3 +1,8 @@
1
+ (pending release)
2
+ * Added `rake console` for helpful debugging
3
+
4
+ 4.1.1 (13 January 2014)
5
+ * Dropped gem signing & cert (http://tinyurl.com/p98owwz)
1
6
  4.1.0 (2 January 2014)
2
7
  * Dropping support for Rails 2
3
8
  * README updated
@@ -1,6 +1,6 @@
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 align="absmiddle" src="https://codeclimate.com/github/matthutchinson/acts_as_textcaptcha.png" />}[https://codeclimate.com/github/matthutchinson/acts_as_textcaptcha]
3
+ {<img src="https://img.shields.io/gem/v/acts_as_textcaptcha.svg?style=flat" alt="Gem Version" align="absmiddle"/>}[http://rubygems.org/gems/acts_as_textcaptcha] {<img src="https://img.shields.io/travis/matthutchinson/acts_as_textcaptcha.svg?style=flat" alt="Travis Build Status" align="absmiddle"/>}[https://travis-ci.org/matthutchinson/acts_as_textcaptcha] {<img src="https://img.shields.io/coveralls/matthutchinson/acts_as_textcaptcha.svg?style=flat" alt="Coverage Status" align="absmiddle" />}[https://coveralls.io/r/matthutchinson/acts_as_textcaptcha] {<img src="https://img.shields.io/codeclimate/github/matthutchinson/acts_as_textcaptcha.svg?style=flat" alt="Code Climate" align="absmiddle"/>}[https://codeclimate.com/github/matthutchinson/acts_as_textcaptcha] {<img src="https://img.shields.io/gemnasium/matthutchinson/acts_as_textcaptcha.svg?style=flat" alt="Gemnasium Dependencies" align="absmiddle"/>}[https://gemnasium.com/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
 
@@ -77,11 +77,11 @@ So out of the box, spam protection is only enabled for creating new records (not
77
77
 
78
78
  You can configure acts_as_textcaptcha with the following options;
79
79
 
80
- * *api_key* - get a free key from http://textcaptcha.com/api
81
- * *questions* (_optional, array of question and answer hashes (see below) A random question from this array will be asked if the web service fails OR if no API key has been set. Multiple answers to the same question are comma separated (e.g. 2,two). So do not use commas in your answers!
82
- * *cache_expiry_minutes* (_optional, minutes for answers to persist in the cache (default 10 minutes), see {below for details}[https://github.com/matthutchinson/acts_as_textcaptcha#what-does-the-code-do]
83
- * *http_read_timeout* (_optional, Net::HTTP option, seconds to wait for one block to be read from the remote API
84
- * *http_open_timeout* (_optional, Net::HTTP option, seconds to wait for the connection to open to the remote API
80
+ * *api_key* (_required_) - get a free key from http://textcaptcha.com/api
81
+ * *questions* (_optional_) - array of question and answer hashes (see below) A random question from this array will be asked if the web service fails OR if no API key has been set. Multiple answers to the same question are comma separated (e.g. 2,two). So do not use commas in your answers!
82
+ * *cache_expiry_minutes* (_optional_) - minutes for answers to persist in the cache (default 10 minutes), see {below for details}[https://github.com/matthutchinson/acts_as_textcaptcha#what-does-the-code-do]
83
+ * *http_read_timeout* (_optional_) - Net::HTTP option, seconds to wait for one block to be read from the remote API
84
+ * *http_open_timeout* (_optional_) - Net::HTTP option, seconds to wait for the connection to open to the remote API
85
85
 
86
86
  For example;
87
87
 
@@ -156,7 +156,7 @@ What do you need?
156
156
 
157
157
  * {Rails}[http://github.com/rails/rails] >= 3.0.0 (including Rails 4)
158
158
  * {Rails.cache}[http://api.rubyonrails.org/classes/ActiveSupport/Cache/Store.html] - some basic cache configuration is nessecary
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)
159
+ * {Ruby}[http://ruby-lang.org/] >= 1.9.2 (also tested with 1.9.3, 2.0.0, 2.1.1) - 1.8.7 support ended at version 4.1.1
160
160
  * {Text CAPTCHA API key}[http://textcaptcha.com/register] (_optional_, since you can define your own logic questions)
161
161
  * {MiniTest}[https://rubygems.org/gems/minitest] (_optional_ if you want to run the tests, built into Ruby 1.9)
162
162
  * {SimpleCov}[https://rubygems.org/gems/simplecov] (_optional_ if you want to run the tests with code coverage reporting)
@@ -199,5 +199,5 @@ This gem is used in a number of production websites and apps. It was originally
199
199
 
200
200
  * {matthewhutchinson.net}[http://matthewhutchinson.net]
201
201
  * {pmFAQtory.com}[http://pmfaqtory.com]
202
- * {The FAQtory}[http://faqtory.heroku.com]
202
+ * {The FAQtory}[http://faqtoryapp.com]
203
203
  * {DPT Watch, San Francisco}[http://www.dptwatch.com]
data/Rakefile CHANGED
@@ -3,6 +3,17 @@ gem 'rdoc'
3
3
  # default rake
4
4
  task :default => [:test]
5
5
 
6
+ # helpful console
7
+ desc "Irb console that requires this gem"
8
+ task :console do
9
+ require 'irb'
10
+ require 'irb/completion'
11
+ require 'acts_as_textcaptcha'
12
+ ARGV.clear
13
+ IRB.start
14
+ end
15
+
16
+
6
17
  # bundler tasks
7
18
  require 'bundler'
8
19
  Bundler::GemHelper.install_tasks
@@ -22,7 +22,7 @@ Gem::Specification.new do |s|
22
22
  s.require_paths = ["lib"]
23
23
 
24
24
  # lock mime-types to pre 2.0 since we want to support 1.8.7/REE in tests
25
- s.add_development_dependency('mime-types', '~> 1.25.1')
25
+ s.add_development_dependency('mime-types')
26
26
  s.add_development_dependency('rails')
27
27
  s.add_development_dependency('bundler')
28
28
  s.add_development_dependency('minitest')
@@ -1,3 +1,3 @@
1
1
  module ActsAsTextcaptcha
2
- VERSION = "4.1.1"
2
+ VERSION = "4.1.2"
3
3
  end
@@ -23,9 +23,6 @@ require 'fakeweb'
23
23
 
24
24
  require 'rails/all'
25
25
 
26
- # silence warnings about I18n locales
27
- I18n.config.enforce_available_locales = true
28
-
29
26
  require 'acts_as_textcaptcha'
30
27
  require './test/test_models'
31
28
 
metadata CHANGED
@@ -1,196 +1,185 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: acts_as_textcaptcha
3
- version: !ruby/object:Gem::Version
4
- hash: 57
5
- prerelease:
6
- segments:
7
- - 4
8
- - 1
9
- - 1
10
- version: 4.1.1
3
+ version: !ruby/object:Gem::Version
4
+ version: 4.1.2
11
5
  platform: ruby
12
- authors:
6
+ authors:
13
7
  - Matthew Hutchinson
14
8
  autorequire:
15
9
  bindir: bin
16
10
  cert_chain: []
17
-
18
- date: 2014-01-13 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
11
+ date: 2014-05-11 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
21
14
  name: mime-types
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
32
- version: 1.25.1
33
- prerelease: false
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
34
20
  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"
47
21
  prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rails
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
48
34
  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"
61
35
  prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: bundler
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
62
48
  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"
75
49
  prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: minitest
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
76
62
  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"
89
63
  prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: simplecov
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
90
76
  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"
103
77
  prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rdoc
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
104
90
  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"
117
91
  prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: sqlite3
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
118
104
  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"
131
105
  prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: fakeweb
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
132
118
  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"
145
119
  prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: strong_parameters
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
146
132
  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"
159
133
  prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: coveralls
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
160
146
  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"
173
147
  prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: pry
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
174
160
  type: :development
175
- requirement: *id011
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
176
167
  description: |-
177
168
  Simple question/answer based spam protection for your Rails models.
178
169
  You can define your own logic questions and/or fetch questions from the textcaptcha.com API.
179
170
  The questions involve human logic and are tough for spam bots to crack.
180
171
  For more reasons on why logic questions are a good idea visit; http://textcaptcha.com/why
181
- email:
172
+ email:
182
173
  - matt@hiddenloop.com
183
174
  executables: []
184
-
185
175
  extensions: []
186
-
187
- extra_rdoc_files:
176
+ extra_rdoc_files:
188
177
  - README.rdoc
189
178
  - LICENSE
190
- files:
191
- - .coveralls.yml
192
- - .gitignore
193
- - .travis.yml
179
+ files:
180
+ - ".coveralls.yml"
181
+ - ".gitignore"
182
+ - ".travis.yml"
194
183
  - CHANGELOG
195
184
  - Gemfile
196
185
  - LICENSE
@@ -216,36 +205,26 @@ files:
216
205
  - test/textcaptcha_test.rb
217
206
  homepage: http://github.com/matthutchinson/acts_as_textcaptcha
218
207
  licenses: []
219
-
208
+ metadata: {}
220
209
  post_install_message:
221
210
  rdoc_options: []
222
-
223
- require_paths:
211
+ require_paths:
224
212
  - lib
225
- required_ruby_version: !ruby/object:Gem::Requirement
226
- none: false
227
- requirements:
213
+ required_ruby_version: !ruby/object:Gem::Requirement
214
+ requirements:
228
215
  - - ">="
229
- - !ruby/object:Gem::Version
230
- hash: 3
231
- segments:
232
- - 0
233
- version: "0"
234
- required_rubygems_version: !ruby/object:Gem::Requirement
235
- none: false
236
- requirements:
216
+ - !ruby/object:Gem::Version
217
+ version: '0'
218
+ required_rubygems_version: !ruby/object:Gem::Requirement
219
+ requirements:
237
220
  - - ">="
238
- - !ruby/object:Gem::Version
239
- hash: 3
240
- segments:
241
- - 0
242
- version: "0"
221
+ - !ruby/object:Gem::Version
222
+ version: '0'
243
223
  requirements: []
244
-
245
224
  rubyforge_project:
246
- rubygems_version: 1.8.25
225
+ rubygems_version: 2.2.2
247
226
  signing_key:
248
- specification_version: 3
249
- summary: Spam protection for your models via logic questions and the textcaptcha.com API
227
+ specification_version: 4
228
+ summary: Spam protection for your models via logic questions and the textcaptcha.com
229
+ API
250
230
  test_files: []
251
-