captcher 0.1.1 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|