captcher 0.1.1 → 0.2.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/README.md +35 -8
- data/lib/captcher.rb +12 -4
- data/lib/captcher/captchas/cached_captcha.rb +52 -0
- data/lib/captcher/version.rb +1 -1
- data/spec/dummy/log/development.log +2747 -0
- data/spec/dummy/log/test.log +175 -0
- data/spec/dummy/tmp/cache/043/151/captcher__cached__%3A7a99210142fee43c006bfe2ff927701b +0 -0
- data/spec/dummy/tmp/cache/111/E31/captcher__cached__%3A5688ef242c39cd01f3bf4f2c7c6ebb5f +0 -0
- data/spec/dummy/tmp/cache/D50/E10/captcher__cached__%3Acode_captcha%3A1 +3 -0
- data/spec/dummy/tmp/cache/D51/E20/captcher__cached__%3Acode_captcha%3A2 +3 -0
- data/spec/dummy/tmp/cache/D52/E30/captcher__cached__%3Acode_captcha%3A3 +3 -0
- data/spec/dummy/tmp/cache/D54/E50/captcher__cached__%3Acode_captcha%3A5 +3 -0
- data/spec/dummy/tmp/cache/D56/E70/captcher__cached__%3Acode_captcha%3A7 +3 -0
- data/spec/dummy/tmp/cache/FB2/D60/captcher__cached__%3A542081068251d2ec3b7f3e453b29750c +0 -0
- data/spec/lib/captcher/captchas/cached_captcha_spec.rb +49 -0
- data/spec/{models → lib/captcher}/captchas/code_captcha_spec.rb +0 -0
- data/spec/rails_helper.rb +1 -1
- metadata +24 -7
- data/spec/tmp/test.png +0 -0
data/spec/dummy/log/test.log
CHANGED
@@ -6486,6 +6486,181 @@ Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.0ms)
|
|
6486
6486
|
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
6487
6487
|
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
6488
6488
|
Started POST "/captcher/captcha/confirm" for 127.0.0.1 at 2019-03-26 01:04:52 +0300
|
6489
|
+
Processing by Captcher::CaptchasController#confirm as HTML
|
6490
|
+
Parameters: {"confirmation"=>"IIIII"}
|
6491
|
+
Completed 422 Unprocessable Entity in 0ms (Views: 0.1ms | ActiveRecord: 0.0ms)
|
6492
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
6493
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
6494
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
6495
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
6496
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
6497
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
6498
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
6499
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
6500
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
6501
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
6502
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
6503
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
6504
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
6505
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
6506
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
6507
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
6508
|
+
Started GET "/captcher/captcha" for 127.0.0.1 at 2019-03-26 22:15:35 +0300
|
6509
|
+
Processing by Captcher::CaptchasController#show as HTML
|
6510
|
+
Rendering text template
|
6511
|
+
Rendered text template (0.0ms)
|
6512
|
+
Sent data captcha.png (4.2ms)
|
6513
|
+
Completed 200 OK in 57ms (Views: 3.9ms | ActiveRecord: 0.0ms)
|
6514
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
6515
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
6516
|
+
Started GET "/captcher/captcha" for 127.0.0.1 at 2019-03-26 22:15:35 +0300
|
6517
|
+
Processing by Captcher::CaptchasController#show as HTML
|
6518
|
+
Rendering text template
|
6519
|
+
Rendered text template (0.0ms)
|
6520
|
+
Sent data captcha.png (0.5ms)
|
6521
|
+
Completed 200 OK in 48ms (Views: 0.3ms | ActiveRecord: 0.0ms)
|
6522
|
+
Started GET "/captcher/captcha" for 127.0.0.1 at 2019-03-26 22:15:35 +0300
|
6523
|
+
Processing by Captcher::CaptchasController#show as HTML
|
6524
|
+
Rendering text template
|
6525
|
+
Rendered text template (0.0ms)
|
6526
|
+
Sent data captcha.png (0.9ms)
|
6527
|
+
Completed 200 OK in 52ms (Views: 0.6ms | ActiveRecord: 0.0ms)
|
6528
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
6529
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
6530
|
+
Started POST "/captcher/captcha/refresh" for 127.0.0.1 at 2019-03-26 22:15:35 +0300
|
6531
|
+
Processing by Captcher::CaptchasController#refresh as HTML
|
6532
|
+
Rendering text template
|
6533
|
+
Rendered text template (0.0ms)
|
6534
|
+
Sent data captcha.png (0.6ms)
|
6535
|
+
Completed 200 OK in 49ms (Views: 0.4ms | ActiveRecord: 0.0ms)
|
6536
|
+
Started POST "/captcher/captcha/refresh" for 127.0.0.1 at 2019-03-26 22:15:35 +0300
|
6537
|
+
Processing by Captcher::CaptchasController#refresh as HTML
|
6538
|
+
Rendering text template
|
6539
|
+
Rendered text template (0.0ms)
|
6540
|
+
Sent data captcha.png (0.4ms)
|
6541
|
+
Completed 200 OK in 45ms (Views: 0.3ms | ActiveRecord: 0.0ms)
|
6542
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
6543
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
6544
|
+
Started GET "/captcher/captcha" for 127.0.0.1 at 2019-03-26 22:15:36 +0300
|
6545
|
+
Processing by Captcher::CaptchasController#show as HTML
|
6546
|
+
Rendering text template
|
6547
|
+
Rendered text template (0.0ms)
|
6548
|
+
Sent data captcha.png (0.4ms)
|
6549
|
+
Completed 200 OK in 67ms (Views: 0.3ms | ActiveRecord: 0.0ms)
|
6550
|
+
Started POST "/captcher/captcha/confirm" for 127.0.0.1 at 2019-03-26 22:15:36 +0300
|
6551
|
+
Processing by Captcher::CaptchasController#confirm as HTML
|
6552
|
+
Parameters: {"confirmation"=>"SKOmi"}
|
6553
|
+
Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.0ms)
|
6554
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
6555
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
6556
|
+
Started POST "/captcher/captcha/confirm" for 127.0.0.1 at 2019-03-26 22:15:36 +0300
|
6557
|
+
Processing by Captcher::CaptchasController#confirm as HTML
|
6558
|
+
Parameters: {"confirmation"=>"IIIII"}
|
6559
|
+
Completed 422 Unprocessable Entity in 1ms (Views: 0.2ms | ActiveRecord: 0.0ms)
|
6560
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
6561
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
6562
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
6563
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
6564
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
6565
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
6566
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
6567
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
6568
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
6569
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
6570
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
6571
|
+
[1m[35m (0.2ms)[0m [1m[31mrollback transaction[0m
|
6572
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
6573
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
6574
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
6575
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
6576
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
6577
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
6578
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
6579
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
6580
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
6581
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
6582
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
6583
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
6584
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
6585
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
6586
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
6587
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
6588
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
6589
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
6590
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
6591
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
6592
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
6593
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
6594
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
6595
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
6596
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
6597
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
6598
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
6599
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
6600
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
6601
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
6602
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
6603
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
6604
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
6605
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
6606
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
6607
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
6608
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
6609
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
6610
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
6611
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
6612
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
6613
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
6614
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
6615
|
+
Started GET "/captcher/captcha" for 127.0.0.1 at 2019-03-26 23:25:48 +0300
|
6616
|
+
Processing by Captcher::CaptchasController#show as HTML
|
6617
|
+
Rendering text template
|
6618
|
+
Rendered text template (0.0ms)
|
6619
|
+
Sent data captcha.png (2.7ms)
|
6620
|
+
Completed 200 OK in 40ms (Views: 2.5ms | ActiveRecord: 0.0ms)
|
6621
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
6622
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
6623
|
+
Started GET "/captcher/captcha" for 127.0.0.1 at 2019-03-26 23:25:48 +0300
|
6624
|
+
Processing by Captcher::CaptchasController#show as HTML
|
6625
|
+
Rendering text template
|
6626
|
+
Rendered text template (0.0ms)
|
6627
|
+
Sent data captcha.png (0.4ms)
|
6628
|
+
Completed 200 OK in 31ms (Views: 0.3ms | ActiveRecord: 0.0ms)
|
6629
|
+
Started GET "/captcher/captcha" for 127.0.0.1 at 2019-03-26 23:25:48 +0300
|
6630
|
+
Processing by Captcher::CaptchasController#show as HTML
|
6631
|
+
Rendering text template
|
6632
|
+
Rendered text template (0.0ms)
|
6633
|
+
Sent data captcha.png (0.4ms)
|
6634
|
+
Completed 200 OK in 30ms (Views: 0.3ms | ActiveRecord: 0.0ms)
|
6635
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
6636
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
6637
|
+
Started POST "/captcher/captcha/refresh" for 127.0.0.1 at 2019-03-26 23:25:48 +0300
|
6638
|
+
Processing by Captcher::CaptchasController#refresh as HTML
|
6639
|
+
Rendering text template
|
6640
|
+
Rendered text template (0.0ms)
|
6641
|
+
Sent data captcha.png (0.4ms)
|
6642
|
+
Completed 200 OK in 31ms (Views: 0.3ms | ActiveRecord: 0.0ms)
|
6643
|
+
Started POST "/captcher/captcha/refresh" for 127.0.0.1 at 2019-03-26 23:25:48 +0300
|
6644
|
+
Processing by Captcher::CaptchasController#refresh as HTML
|
6645
|
+
Rendering text template
|
6646
|
+
Rendered text template (0.0ms)
|
6647
|
+
Sent data captcha.png (0.4ms)
|
6648
|
+
Completed 200 OK in 32ms (Views: 0.3ms | ActiveRecord: 0.0ms)
|
6649
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
6650
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
6651
|
+
Started GET "/captcher/captcha" for 127.0.0.1 at 2019-03-26 23:25:48 +0300
|
6652
|
+
Processing by Captcher::CaptchasController#show as HTML
|
6653
|
+
Rendering text template
|
6654
|
+
Rendered text template (0.0ms)
|
6655
|
+
Sent data captcha.png (0.4ms)
|
6656
|
+
Completed 200 OK in 34ms (Views: 0.3ms | ActiveRecord: 0.0ms)
|
6657
|
+
Started POST "/captcher/captcha/confirm" for 127.0.0.1 at 2019-03-26 23:25:48 +0300
|
6658
|
+
Processing by Captcher::CaptchasController#confirm as HTML
|
6659
|
+
Parameters: {"confirmation"=>"aYDHX"}
|
6660
|
+
Completed 200 OK in 1ms (Views: 0.1ms | ActiveRecord: 0.0ms)
|
6661
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
6662
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
6663
|
+
Started POST "/captcher/captcha/confirm" for 127.0.0.1 at 2019-03-26 23:25:48 +0300
|
6489
6664
|
Processing by Captcher::CaptchasController#confirm as HTML
|
6490
6665
|
Parameters: {"confirmation"=>"IIIII"}
|
6491
6666
|
Completed 422 Unprocessable Entity in 0ms (Views: 0.1ms | ActiveRecord: 0.0ms)
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,49 @@
|
|
1
|
+
require "rails_helper"
|
2
|
+
|
3
|
+
RSpec.describe Captcher::Captchas::CachedCaptcha do
|
4
|
+
let(:config) do
|
5
|
+
config = Captcher.config
|
6
|
+
config[:mode] = :cached_captcha
|
7
|
+
config
|
8
|
+
end
|
9
|
+
let(:own_config) { config[:cached_captcha] }
|
10
|
+
let(:captcha) { described_class.new(config: config) }
|
11
|
+
|
12
|
+
describe "#initialize" do
|
13
|
+
it "receives config for code_captcha" do
|
14
|
+
expect(captcha.own_config).to eq(own_config.with_indifferent_access)
|
15
|
+
end
|
16
|
+
|
17
|
+
it "generates a text when initialized" do
|
18
|
+
expect(captcha.payload.size).to eq(5)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
describe "#represent" do
|
23
|
+
let(:raw_image) { captcha.represent(:html) }
|
24
|
+
let(:image_path) { "#{tmp_dir}/test.png" }
|
25
|
+
let(:validate_img) { system("convert #{image_path} -", out: "/dev/null") }
|
26
|
+
|
27
|
+
it "produces a valid png image" do
|
28
|
+
save_image(raw_image, image_path)
|
29
|
+
expect(File).to exist(image_path)
|
30
|
+
expect(validate_img).to eq(true)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
describe "#validate" do
|
35
|
+
let(:payload) { "LVsll" }
|
36
|
+
let(:captcha) { described_class.new(config: config, payload: payload) }
|
37
|
+
|
38
|
+
it "accepts a valid confirmation code" do
|
39
|
+
expect(captcha.validate(" LVsll ")).to eq(true)
|
40
|
+
expect(captcha.validate("lvsll")).to eq(true)
|
41
|
+
expect(captcha.validate("LVSLL")).to eq(true)
|
42
|
+
end
|
43
|
+
|
44
|
+
it "declines invalid confirmation code" do
|
45
|
+
expect(captcha.validate("IIIII")).to eq(false)
|
46
|
+
expect(captcha.validate("")).to eq(false)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
File without changes
|
data/spec/rails_helper.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: captcher
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ivan Zinovyev
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-03-
|
11
|
+
date: 2019-03-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -126,6 +126,7 @@ files:
|
|
126
126
|
- lib/captcher.rb
|
127
127
|
- lib/captcher/base_captcha.rb
|
128
128
|
- lib/captcher/captchas/awesome_captcha.rb
|
129
|
+
- lib/captcher/captchas/cached_captcha.rb
|
129
130
|
- lib/captcher/captchas/code_captcha.rb
|
130
131
|
- lib/captcher/captchas/math_captcha.rb
|
131
132
|
- lib/captcher/config.rb
|
@@ -194,14 +195,22 @@ files:
|
|
194
195
|
- spec/dummy/public/apple-touch-icon-precomposed.png
|
195
196
|
- spec/dummy/public/apple-touch-icon.png
|
196
197
|
- spec/dummy/public/favicon.ico
|
198
|
+
- spec/dummy/tmp/cache/043/151/captcher__cached__%3A7a99210142fee43c006bfe2ff927701b
|
199
|
+
- spec/dummy/tmp/cache/111/E31/captcher__cached__%3A5688ef242c39cd01f3bf4f2c7c6ebb5f
|
200
|
+
- spec/dummy/tmp/cache/D50/E10/captcher__cached__%3Acode_captcha%3A1
|
201
|
+
- spec/dummy/tmp/cache/D51/E20/captcher__cached__%3Acode_captcha%3A2
|
202
|
+
- spec/dummy/tmp/cache/D52/E30/captcher__cached__%3Acode_captcha%3A3
|
203
|
+
- spec/dummy/tmp/cache/D54/E50/captcher__cached__%3Acode_captcha%3A5
|
204
|
+
- spec/dummy/tmp/cache/D56/E70/captcher__cached__%3Acode_captcha%3A7
|
205
|
+
- spec/dummy/tmp/cache/FB2/D60/captcher__cached__%3A542081068251d2ec3b7f3e453b29750c
|
197
206
|
- spec/dummy/tmp/development_secret.txt
|
198
207
|
- spec/helpers.rb
|
208
|
+
- spec/lib/captcher/captchas/cached_captcha_spec.rb
|
209
|
+
- spec/lib/captcher/captchas/code_captcha_spec.rb
|
199
210
|
- spec/lib/captcher/config_spec.rb
|
200
|
-
- spec/models/captchas/code_captcha_spec.rb
|
201
211
|
- spec/rails_helper.rb
|
202
212
|
- spec/requests/captcha_management_spec.rb
|
203
213
|
- spec/spec_helper.rb
|
204
|
-
- spec/tmp/test.png
|
205
214
|
homepage: https://github.com/zinovyev/captcher
|
206
215
|
licenses:
|
207
216
|
- MIT
|
@@ -281,11 +290,19 @@ test_files:
|
|
281
290
|
- spec/dummy/public/apple-touch-icon-precomposed.png
|
282
291
|
- spec/dummy/public/apple-touch-icon.png
|
283
292
|
- spec/dummy/public/favicon.ico
|
293
|
+
- spec/dummy/tmp/cache/D56/E70/captcher__cached__%3Acode_captcha%3A7
|
294
|
+
- spec/dummy/tmp/cache/D54/E50/captcher__cached__%3Acode_captcha%3A5
|
295
|
+
- spec/dummy/tmp/cache/043/151/captcher__cached__%3A7a99210142fee43c006bfe2ff927701b
|
296
|
+
- spec/dummy/tmp/cache/D50/E10/captcher__cached__%3Acode_captcha%3A1
|
297
|
+
- spec/dummy/tmp/cache/D52/E30/captcher__cached__%3Acode_captcha%3A3
|
298
|
+
- spec/dummy/tmp/cache/D51/E20/captcher__cached__%3Acode_captcha%3A2
|
299
|
+
- spec/dummy/tmp/cache/FB2/D60/captcher__cached__%3A542081068251d2ec3b7f3e453b29750c
|
300
|
+
- spec/dummy/tmp/cache/111/E31/captcher__cached__%3A5688ef242c39cd01f3bf4f2c7c6ebb5f
|
284
301
|
- spec/dummy/tmp/development_secret.txt
|
285
302
|
- spec/spec_helper.rb
|
286
303
|
- spec/requests/captcha_management_spec.rb
|
287
|
-
- spec/models/captchas/code_captcha_spec.rb
|
288
304
|
- spec/helpers.rb
|
289
|
-
- spec/rails_helper.rb
|
290
305
|
- spec/lib/captcher/config_spec.rb
|
291
|
-
- spec/
|
306
|
+
- spec/lib/captcher/captchas/code_captcha_spec.rb
|
307
|
+
- spec/lib/captcher/captchas/cached_captcha_spec.rb
|
308
|
+
- spec/rails_helper.rb
|
data/spec/tmp/test.png
DELETED
Binary file
|