acts_as_textcaptcha 4.5.2 → 4.7.0
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.
- checksums.yaml +4 -4
- data/.github/workflows/build.yml +40 -0
- data/.github/workflows/push_gem.yml +25 -0
- data/Appraisals +4 -11
- data/CHANGELOG.md +15 -1
- data/README.md +32 -21
- data/Rakefile +1 -17
- data/acts_as_textcaptcha.gemspec +4 -10
- data/gemfiles/rails_6.gemfile +2 -4
- data/lib/acts_as_textcaptcha/textcaptcha.rb +1 -3
- data/lib/acts_as_textcaptcha/textcaptcha_api.rb +2 -5
- data/lib/acts_as_textcaptcha/textcaptcha_config.rb +1 -1
- data/lib/acts_as_textcaptcha/version.rb +1 -1
- metadata +15 -73
- data/.rubocop.yml +0 -1165
- data/.travis.yml +0 -47
- data/gemfiles/rails_3.gemfile +0 -8
- data/gemfiles/rails_4.gemfile +0 -8
- data/gemfiles/rails_5.gemfile +0 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 97a85cf9e199655854243a2a751cd00e4c9c8b45b19eb6ae0b14293b7c1964b2
|
4
|
+
data.tar.gz: a26d0dbfb3a8a6a278099879f432ea2928a4add8388ba818421aaa665482f463
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f5756a2a22abc5bceae0a7303cb2f1a13213307d4b02a8e00cc8704ee372e16758f583da250e309858ff52bb4421559cba099459f95c2de2bb41c65813dee17b
|
7
|
+
data.tar.gz: 88acda928cfd9789e5d9334ef2644b2449066024f9f3e6f0e4c2b90ca343e6c298f06f9c82921c8be408a1eb4a187fbdd95811538c640a3b56aa7266366b2b61
|
@@ -0,0 +1,40 @@
|
|
1
|
+
name: Tests
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
branches: [ "main" ]
|
6
|
+
pull_request:
|
7
|
+
branches: [ "main" ]
|
8
|
+
|
9
|
+
permissions:
|
10
|
+
contents: read
|
11
|
+
|
12
|
+
jobs:
|
13
|
+
test:
|
14
|
+
strategy:
|
15
|
+
matrix:
|
16
|
+
ruby-version:
|
17
|
+
- "3.1"
|
18
|
+
- "3.2"
|
19
|
+
- "3.3"
|
20
|
+
- "3.4"
|
21
|
+
gemfile:
|
22
|
+
- Gemfile
|
23
|
+
- gemfiles/rails_6.gemfile
|
24
|
+
exclude:
|
25
|
+
- ruby-version: "3.4"
|
26
|
+
gemfile: gemfiles/rails_6.gemfile
|
27
|
+
runs-on: ubuntu-latest
|
28
|
+
name: ${{ format('Tests (Ruby {0})', matrix.ruby-version) }}
|
29
|
+
continue-on-error: true
|
30
|
+
env:
|
31
|
+
BUNDLE_GEMFILE: ${{ github.workspace }}/${{ matrix.gemfile }}
|
32
|
+
steps:
|
33
|
+
- uses: actions/checkout@v4
|
34
|
+
- name: Set up Ruby
|
35
|
+
uses: ruby/setup-ruby@v1
|
36
|
+
with:
|
37
|
+
ruby-version: ${{ matrix.ruby-version }}
|
38
|
+
bundler-cache: true
|
39
|
+
- name: Run tests
|
40
|
+
run: bundle exec rake
|
@@ -0,0 +1,25 @@
|
|
1
|
+
name: Publish gem to RubyGems.org
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
tags:
|
6
|
+
- v*
|
7
|
+
|
8
|
+
jobs:
|
9
|
+
push:
|
10
|
+
name: Push gem to RubyGems.org
|
11
|
+
runs-on: ubuntu-latest
|
12
|
+
|
13
|
+
permissions:
|
14
|
+
id-token: write
|
15
|
+
contents: write
|
16
|
+
|
17
|
+
steps:
|
18
|
+
- uses: actions/checkout@v4
|
19
|
+
- name: Set up Ruby
|
20
|
+
uses: ruby/setup-ruby@v1
|
21
|
+
with:
|
22
|
+
bundler-cache: true
|
23
|
+
ruby-version: ruby
|
24
|
+
|
25
|
+
- uses: rubygems/release-gem@v1
|
data/Appraisals
CHANGED
@@ -1,14 +1,7 @@
|
|
1
|
-
appraise "rails-
|
2
|
-
gem "rails", "
|
3
|
-
gem "sqlite3", "~> 1.3.5"
|
4
|
-
end
|
5
|
-
|
6
|
-
appraise "rails-5" do
|
7
|
-
gem "rails", "5.2.4.4"
|
8
|
-
gem "sqlite3", "~> 1.4.2"
|
1
|
+
appraise "rails-6" do
|
2
|
+
gem "rails", "6.1.7.8"
|
9
3
|
end
|
10
4
|
|
11
|
-
appraise "rails-
|
12
|
-
gem "rails", "
|
13
|
-
gem "sqlite3", "~> 1.4.2"
|
5
|
+
appraise "rails-7" do
|
6
|
+
gem "rails", "7.2.0"
|
14
7
|
end
|
data/CHANGELOG.md
CHANGED
@@ -9,6 +9,18 @@ adheres to [Semantic Versioning][Semver].
|
|
9
9
|
|
10
10
|
- Your contribution here!
|
11
11
|
|
12
|
+
## [4.7.0] - 2024-10-03
|
13
|
+
### Changed
|
14
|
+
- CI covers Latest Rails version 7, 6 and Ruby 3.1 -> 3.4
|
15
|
+
- Removed Apprasial
|
16
|
+
- Added GH workflow
|
17
|
+
- Dropped rubocop, simplecov
|
18
|
+
|
19
|
+
## [4.6.0] - 2022-02-14
|
20
|
+
### Changed
|
21
|
+
- CI covers Latest Rails version 7 and Ruby 3.1
|
22
|
+
- Use `YAML.safe_load` and allow aliases
|
23
|
+
|
12
24
|
## [4.5.2] - 2021-01-28
|
13
25
|
### Changed
|
14
26
|
- CI covers Latest Rails version 6,5,4 and Ruby 3,2.7,2.6,2.5
|
@@ -95,7 +107,9 @@ adheres to [Semantic Versioning][Semver].
|
|
95
107
|
- README updated.
|
96
108
|
- Test coverage improved.
|
97
109
|
|
98
|
-
[Unreleased]: https://github.com/matthutchinson/acts_as_textcaptcha/compare/v4.
|
110
|
+
[Unreleased]: https://github.com/matthutchinson/acts_as_textcaptcha/compare/v4.7.0...HEAD
|
111
|
+
[4.7.0]: https://github.com/matthutchinson/acts_as_textcaptcha/compare/v4.6.0...v4.7.0
|
112
|
+
[4.6.0]: https://github.com/matthutchinson/acts_as_textcaptcha/compare/v4.5.2...v4.6.0
|
99
113
|
[4.5.2]: https://github.com/matthutchinson/acts_as_textcaptcha/compare/v4.5.1...v4.5.2
|
100
114
|
[4.5.1]: https://github.com/matthutchinson/acts_as_textcaptcha/compare/v4.5.0...v4.5.1
|
101
115
|
[4.5.0]: https://github.com/matthutchinson/acts_as_textcaptcha/compare/v4.4.1...v4.5.0
|
data/README.md
CHANGED
@@ -1,10 +1,8 @@
|
|
1
1
|
## ActAsTextcaptcha
|
2
2
|
|
3
|
+
[](https://github.com/matthutchinson/acts_as_textcaptcha/actions/workflows/build.yml)
|
3
4
|
[](http://rubygems.org/gems/acts_as_textcaptcha)
|
4
|
-
[](https://travis-ci.com/matthutchinson/acts_as_textcaptcha)
|
5
5
|
[](https://depfu.com/github/matthutchinson/acts_as_textcaptcha)
|
6
|
-
[](https://codeclimate.com/github/matthutchinson/acts_as_textcaptcha/maintainability)
|
7
|
-
[](https://codeclimate.com/github/matthutchinson/acts_as_textcaptcha/test_coverage)
|
8
6
|
|
9
7
|
ActsAsTextcaptcha provides spam protection for Rails models with text-based
|
10
8
|
logic question captchas. Questions are fetched from [Rob
|
@@ -18,16 +16,13 @@ are a good idea visit [textcaptcha.com](https://textcaptcha.com).
|
|
18
16
|
|
19
17
|
## Requirements
|
20
18
|
|
21
|
-
* [Ruby](http://ruby-lang.org/) >=
|
22
|
-
* [Rails](http://github.com/rails/rails) >=
|
19
|
+
* [Ruby](http://ruby-lang.org/) >= 3.1
|
20
|
+
* [Rails](http://github.com/rails/rails) >= 6.1
|
23
21
|
* A valid [Rails.cache](http://guides.rubyonrails.org/caching_with_rails.html#cache-stores) (not `:null_store`)
|
24
22
|
|
25
23
|
## Demo
|
26
24
|
|
27
|
-
Try a [working demo here](https://acts-as-textcaptcha
|
28
|
-
Or one-click deploy your own [demo app](https://github.com/matthutchinson/acts_as_textcaptcha_demo) to Heroku.
|
29
|
-
|
30
|
-
[](https://www.heroku.com/deploy?template=https://github.com/matthutchinson/acts_as_textcaptcha_demo/tree/master)
|
25
|
+
Try a [working demo here](https://acts-as-textcaptcha.hiddenloop.dev)!
|
31
26
|
|
32
27
|
## Installation
|
33
28
|
|
@@ -59,7 +54,26 @@ def new
|
|
59
54
|
end
|
60
55
|
```
|
61
56
|
|
62
|
-
|
57
|
+
Make sure these textcaptcha params
|
58
|
+
(`:textcaptcha_answer, :textcaptcha_key`) are permitted in your create (or update) action:
|
59
|
+
|
60
|
+
```ruby
|
61
|
+
def create
|
62
|
+
@comment = Comment.create(commment_params)
|
63
|
+
# ... etc
|
64
|
+
end
|
65
|
+
|
66
|
+
private
|
67
|
+
|
68
|
+
def commment_params
|
69
|
+
params.require(:comment).permit(:textcaptcha_answer, :textcaptcha_key, :name, :comment_text)
|
70
|
+
end
|
71
|
+
```
|
72
|
+
|
73
|
+
**NOTE**: if the captcha is submitted incorrectly, a new captcha will be
|
74
|
+
automatically generated on the `@comment` object.
|
75
|
+
|
76
|
+
Next, add the question and answer fields to your form using the
|
63
77
|
`textcaptcha_fields` helper. Arrange the HTML within this block as you like.
|
64
78
|
|
65
79
|
```ruby
|
@@ -79,12 +93,11 @@ Finally set a valid [cache
|
|
79
93
|
store](https://guides.rubyonrails.org/caching_with_rails.html#cache-stores) (not `:null_store`) for your environments:
|
80
94
|
|
81
95
|
```ruby
|
82
|
-
# e.g. in
|
96
|
+
# e.g. in config/environments/*.rb
|
83
97
|
config.cache_store = :memory_store
|
84
98
|
```
|
85
99
|
|
86
|
-
You can run `rails dev:cache` on a
|
87
|
-
a memory store cache in the development environment.
|
100
|
+
You can run `rails dev:cache` on to enable a memory store cache in the development environment.
|
88
101
|
|
89
102
|
## Configuration
|
90
103
|
|
@@ -192,8 +205,7 @@ The API may be unresponsive or return an unexpected response. If you've set
|
|
192
205
|
## Development
|
193
206
|
|
194
207
|
Check out this repo and run `bin/setup`, this will install gem dependencies and
|
195
|
-
generate docs. Use `bundle exec rake` to run tests
|
196
|
-
report.
|
208
|
+
generate docs. Use `bundle exec rake` to run tests.
|
197
209
|
|
198
210
|
You can also run `bin/console` for an interactive prompt to experiment with the
|
199
211
|
code.
|
@@ -239,10 +251,11 @@ Covenant](http://contributor-covenant.org) code of conduct. See
|
|
239
251
|
[here](https://github.com/matthutchinson/acts_as_textcaptcha/blob/master/CODE_OF_CONDUCT.md)
|
240
252
|
for more details.
|
241
253
|
|
242
|
-
##
|
254
|
+
## Ideas
|
243
255
|
|
256
|
+
* Check if AI models can beat this approach
|
244
257
|
* Allow translatable user supplied questions and answers in config
|
245
|
-
* Allow `Net::HTTP` to be swapped out for any
|
258
|
+
* Allow `Net::HTTP` to be swapped out for any HTTP client.
|
246
259
|
|
247
260
|
## License
|
248
261
|
|
@@ -256,10 +269,8 @@ The code is available as open source under the terms of
|
|
256
269
|
|
257
270
|
## Links
|
258
271
|
|
259
|
-
* [
|
260
|
-
* [
|
261
|
-
* [Maintainability](https://codeclimate.com/github/matthutchinson/acts_as_textcaptcha/maintainability)
|
262
|
-
* [Test Coverage](https://codeclimate.com/github/matthutchinson/acts_as_textcaptcha/test_coverage)
|
272
|
+
* [CI](https://github.com/matthutchinson/acts_as_textcaptcha/actions/workflows/build.yml)
|
273
|
+
* [Demo](https://acts-as-textcaptcha.hiddenloop.dev)
|
263
274
|
* [RDoc](http://rdoc.info/projects/matthutchinson/acts_as_textcaptcha)
|
264
275
|
* [Wiki](http://wiki.github.com/matthutchinson/acts_as_textcaptcha/)
|
265
276
|
* [Issues](http://github.com/matthutchinson/acts_as_textcaptcha/issues)
|
data/Rakefile
CHANGED
@@ -3,7 +3,6 @@
|
|
3
3
|
require "bundler/gem_tasks"
|
4
4
|
require "rake/testtask"
|
5
5
|
require "rdoc/task"
|
6
|
-
require "rubocop/rake_task"
|
7
6
|
|
8
7
|
# generate docs
|
9
8
|
RDoc::Task.new do |rd|
|
@@ -21,19 +20,4 @@ Rake::TestTask.new(:test) do |t|
|
|
21
20
|
t.test_files = FileList["test/**/*_test.rb"]
|
22
21
|
end
|
23
22
|
|
24
|
-
|
25
|
-
RuboCop::RakeTask.new(:rubocop) do |t|
|
26
|
-
t.options = ["--display-cop-names"]
|
27
|
-
end
|
28
|
-
|
29
|
-
# run tests with code coverage (default)
|
30
|
-
namespace :test do
|
31
|
-
desc "Run all tests and features and generate a code coverage report"
|
32
|
-
task :coverage do
|
33
|
-
ENV["COVERAGE"] = "true"
|
34
|
-
Rake::Task["test"].execute
|
35
|
-
Rake::Task["rubocop"].execute
|
36
|
-
end
|
37
|
-
end
|
38
|
-
|
39
|
-
task default: [:rubocop, "test:coverage"]
|
23
|
+
task default: ["test"]
|
data/acts_as_textcaptcha.gemspec
CHANGED
@@ -25,11 +25,11 @@ Gem::Specification.new do |spec|
|
|
25
25
|
"changelog_uri" => "https://github.com/matthutchinson/acts_as_textcaptcha/blob/master/CHANGELOG.md",
|
26
26
|
"source_code_uri" => "https://github.com/matthutchinson/acts_as_textcaptcha",
|
27
27
|
"bug_tracker_uri" => "https://github.com/matthutchinson/acts_as_textcaptcha/issues",
|
28
|
-
"allowed_push_host" => "https://rubygems.org"
|
28
|
+
"allowed_push_host" => "https://rubygems.org",
|
29
|
+
"rubygems_mfa_required" => "true"
|
29
30
|
}
|
30
31
|
|
31
32
|
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
32
|
-
spec.test_files = `git ls-files -- {test}/*`.split("\n")
|
33
33
|
spec.bindir = "bin"
|
34
34
|
spec.require_paths = ["lib"]
|
35
35
|
|
@@ -38,24 +38,18 @@ Gem::Specification.new do |spec|
|
|
38
38
|
spec.rdoc_options << "--title" << "ActAsTextcaptcha" << "--main" << "README.md" << "-ri"
|
39
39
|
|
40
40
|
# non-gem dependecies
|
41
|
-
spec.required_ruby_version = ">=
|
41
|
+
spec.required_ruby_version = ">= 3.1"
|
42
42
|
|
43
43
|
# dev gems
|
44
44
|
spec.add_development_dependency("bundler")
|
45
|
-
spec.add_development_dependency("pry-byebug")
|
46
45
|
spec.add_development_dependency "rake"
|
47
46
|
|
48
|
-
# Lint
|
49
|
-
spec.add_development_dependency("rubocop")
|
50
|
-
|
51
47
|
# docs
|
52
48
|
spec.add_development_dependency("rdoc")
|
53
49
|
|
54
50
|
# testing
|
55
|
-
spec.add_development_dependency("
|
51
|
+
spec.add_development_dependency("rails", "~> 7.2")
|
56
52
|
spec.add_development_dependency("minitest")
|
57
|
-
spec.add_development_dependency("rails", "~> 6.0.3.4")
|
58
|
-
spec.add_development_dependency("simplecov", "~> 0.19.1")
|
59
53
|
spec.add_development_dependency("sqlite3")
|
60
54
|
spec.add_development_dependency("webmock")
|
61
55
|
end
|
data/gemfiles/rails_6.gemfile
CHANGED
@@ -122,17 +122,15 @@ module ActsAsTextcaptcha
|
|
122
122
|
|
123
123
|
private
|
124
124
|
|
125
|
-
# rubocop:disable Security/YAMLLoad
|
126
125
|
def build_textcaptcha_config(options)
|
127
126
|
if options.is_a?(Hash)
|
128
127
|
options
|
129
128
|
else
|
130
|
-
YAML.
|
129
|
+
YAML.safe_load(ERB.new(read_textcaptcha_config).result, aliases: true)[Rails.env]
|
131
130
|
end
|
132
131
|
rescue StandardError
|
133
132
|
raise ArgumentError, "could not find any textcaptcha options, in config/textcaptcha.yml or model - run rake textcaptcha:config to generate a template config file"
|
134
133
|
end
|
135
|
-
# rubocop:enable Security/YAMLLoad
|
136
134
|
|
137
135
|
def read_textcaptcha_config
|
138
136
|
File.read("#{Rails.root || "."}/config/textcaptcha.yml")
|
@@ -7,11 +7,8 @@ module ActsAsTextcaptcha
|
|
7
7
|
BASE_URL = "http://textcaptcha.com"
|
8
8
|
|
9
9
|
def initialize(api_key: nil, api_endpoint: nil, raise_errors: false)
|
10
|
-
self.uri =
|
11
|
-
|
12
|
-
else
|
13
|
-
URI("#{BASE_URL}/#{api_key}.json")
|
14
|
-
end
|
10
|
+
self.uri = URI(api_endpoint || "#{BASE_URL}/#{api_key}.json")
|
11
|
+
|
15
12
|
self.raise_errors = raise_errors || false
|
16
13
|
rescue URI::InvalidURIError => e
|
17
14
|
raise ApiKeyError.new(api_key, e)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: acts_as_textcaptcha
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.
|
4
|
+
version: 4.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matthew Hutchinson
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-10-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -24,20 +24,6 @@ dependencies:
|
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: pry-byebug
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - ">="
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '0'
|
34
|
-
type: :development
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - ">="
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '0'
|
41
27
|
- !ruby/object:Gem::Dependency
|
42
28
|
name: rake
|
43
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -52,20 +38,6 @@ dependencies:
|
|
52
38
|
- - ">="
|
53
39
|
- !ruby/object:Gem::Version
|
54
40
|
version: '0'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: rubocop
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - ">="
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
62
|
-
type: :development
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - ">="
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '0'
|
69
41
|
- !ruby/object:Gem::Dependency
|
70
42
|
name: rdoc
|
71
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -81,19 +53,19 @@ dependencies:
|
|
81
53
|
- !ruby/object:Gem::Version
|
82
54
|
version: '0'
|
83
55
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
56
|
+
name: rails
|
85
57
|
requirement: !ruby/object:Gem::Requirement
|
86
58
|
requirements:
|
87
|
-
- - "
|
59
|
+
- - "~>"
|
88
60
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
61
|
+
version: '7.2'
|
90
62
|
type: :development
|
91
63
|
prerelease: false
|
92
64
|
version_requirements: !ruby/object:Gem::Requirement
|
93
65
|
requirements:
|
94
|
-
- - "
|
66
|
+
- - "~>"
|
95
67
|
- !ruby/object:Gem::Version
|
96
|
-
version: '
|
68
|
+
version: '7.2'
|
97
69
|
- !ruby/object:Gem::Dependency
|
98
70
|
name: minitest
|
99
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -108,34 +80,6 @@ dependencies:
|
|
108
80
|
- - ">="
|
109
81
|
- !ruby/object:Gem::Version
|
110
82
|
version: '0'
|
111
|
-
- !ruby/object:Gem::Dependency
|
112
|
-
name: rails
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
114
|
-
requirements:
|
115
|
-
- - "~>"
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: 6.0.3.4
|
118
|
-
type: :development
|
119
|
-
prerelease: false
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
requirements:
|
122
|
-
- - "~>"
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
version: 6.0.3.4
|
125
|
-
- !ruby/object:Gem::Dependency
|
126
|
-
name: simplecov
|
127
|
-
requirement: !ruby/object:Gem::Requirement
|
128
|
-
requirements:
|
129
|
-
- - "~>"
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version: 0.19.1
|
132
|
-
type: :development
|
133
|
-
prerelease: false
|
134
|
-
version_requirements: !ruby/object:Gem::Requirement
|
135
|
-
requirements:
|
136
|
-
- - "~>"
|
137
|
-
- !ruby/object:Gem::Version
|
138
|
-
version: 0.19.1
|
139
83
|
- !ruby/object:Gem::Dependency
|
140
84
|
name: sqlite3
|
141
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -177,10 +121,10 @@ extra_rdoc_files:
|
|
177
121
|
- README.md
|
178
122
|
- LICENSE
|
179
123
|
files:
|
124
|
+
- ".github/workflows/build.yml"
|
125
|
+
- ".github/workflows/push_gem.yml"
|
180
126
|
- ".gitignore"
|
181
|
-
- ".rubocop.yml"
|
182
127
|
- ".simplecov"
|
183
|
-
- ".travis.yml"
|
184
128
|
- Appraisals
|
185
129
|
- CHANGELOG.md
|
186
130
|
- CODE_OF_CONDUCT.md
|
@@ -193,9 +137,6 @@ files:
|
|
193
137
|
- acts_as_textcaptcha.gemspec
|
194
138
|
- bin/console
|
195
139
|
- bin/setup
|
196
|
-
- gemfiles/rails_3.gemfile
|
197
|
-
- gemfiles/rails_4.gemfile
|
198
|
-
- gemfiles/rails_5.gemfile
|
199
140
|
- gemfiles/rails_6.gemfile
|
200
141
|
- lib/acts_as_textcaptcha.rb
|
201
142
|
- lib/acts_as_textcaptcha/errors.rb
|
@@ -217,7 +158,8 @@ metadata:
|
|
217
158
|
source_code_uri: https://github.com/matthutchinson/acts_as_textcaptcha
|
218
159
|
bug_tracker_uri: https://github.com/matthutchinson/acts_as_textcaptcha/issues
|
219
160
|
allowed_push_host: https://rubygems.org
|
220
|
-
|
161
|
+
rubygems_mfa_required: 'true'
|
162
|
+
post_install_message:
|
221
163
|
rdoc_options:
|
222
164
|
- "--title"
|
223
165
|
- ActAsTextcaptcha
|
@@ -230,15 +172,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
230
172
|
requirements:
|
231
173
|
- - ">="
|
232
174
|
- !ruby/object:Gem::Version
|
233
|
-
version: '
|
175
|
+
version: '3.1'
|
234
176
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
235
177
|
requirements:
|
236
178
|
- - ">="
|
237
179
|
- !ruby/object:Gem::Version
|
238
180
|
version: '0'
|
239
181
|
requirements: []
|
240
|
-
rubygems_version: 3.
|
241
|
-
signing_key:
|
182
|
+
rubygems_version: 3.5.16
|
183
|
+
signing_key:
|
242
184
|
specification_version: 4
|
243
185
|
summary: A text-based logic question captcha for Rails
|
244
186
|
test_files: []
|