mathcha 0.5.4 → 0.5.5
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.
- data/README.markdown +14 -9
- data/VERSION +1 -1
- data/lib/mathcha/mathcha_helper.rb +12 -5
- data/mathcha.gemspec +2 -3
- metadata +2 -3
- data/pkg/mathcha-0.5.3.gem +0 -0
data/README.markdown
CHANGED
@@ -2,11 +2,13 @@
|
|
2
2
|
|
3
3
|
Mathcha is a horribly-named, arithmetic-based, text-driven captcha. Why you ask? For very few good reasons:
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
5
|
+
* I had never written a plugin.
|
6
|
+
* I wanted to play with a few bits of technology I hadn't touched:
|
7
|
+
* git
|
8
|
+
* github
|
9
|
+
* gemcutter, gem packaging, jeweler
|
10
|
+
* I really like Recaptcha it's just that I've seen a few folk using simple math problems; I prefer it.
|
11
|
+
* I need this functionality across a few applications I've been working on.
|
10
12
|
|
11
13
|
## Note
|
12
14
|
|
@@ -24,11 +26,14 @@ Next, modify your config/environment.rb to reference the mathcha gem:
|
|
24
26
|
|
25
27
|
`config.gem "mathcha", :source => "http://gemcutter.org"`
|
26
28
|
|
27
|
-
##
|
29
|
+
## Usage
|
28
30
|
|
29
|
-
|
30
|
-
* In your controller: if (verify_mathcha(params))
|
31
|
-
* More soon.
|
31
|
+
In your view (this will dump the proper input and a hidden key field)
|
32
32
|
|
33
|
+
`<%= mathcha_tag %>`
|
34
|
+
|
35
|
+
In your controller
|
36
|
+
|
37
|
+
`if (verify_mathcha(params))`
|
33
38
|
|
34
39
|
Copyright (c) 2009 Cory Wilkerson, released under the MIT license
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.5.
|
1
|
+
0.5.5
|
@@ -35,20 +35,27 @@ module Mathcha
|
|
35
35
|
# * The default session key for this thing is :solv, I'd suggest you leave it be.
|
36
36
|
# * Only one mathcha can exist at a time, for now.
|
37
37
|
def mathcha_tag(options={})
|
38
|
-
|
38
|
+
solv_key = Time.now.to_i
|
39
|
+
seed_one = options[:one] || 300
|
40
|
+
seed_two = options[:two] || 100
|
39
41
|
|
40
|
-
|
41
|
-
result, eq = nil, nil
|
42
|
+
result = nil
|
42
43
|
|
43
44
|
while result.nil? or !result.is_a?(Integer) or result < 0
|
44
|
-
result, eq, eq_slick = generate_solv(SOLV_OPS[rand(SOLV_OPS.size)],
|
45
|
+
result, eq, eq_slick = generate_solv(SOLV_OPS[rand(SOLV_OPS.size)], seed_one, seed_two)
|
45
46
|
end
|
46
47
|
|
48
|
+
# Here we bury away the equation.
|
47
49
|
session[:solv] = [solv_key, eval(eq)]
|
48
50
|
|
51
|
+
if options[:html]
|
52
|
+
html_options = options[:html].inject([]){|dump, pair| dump << "#{pair[0]}=\"#{pair[1]}\""}
|
53
|
+
html_options.join(" ")
|
54
|
+
end
|
55
|
+
|
49
56
|
html = ''
|
50
57
|
html << %{#{eq_slick.titlecase} = <input type="text" name="solv" />\n}
|
51
|
-
html << %{<input type="hidden" name="solv_key" value="#{solv_key}" />\n}
|
58
|
+
html << %{<input type="hidden" name="solv_key" value="#{solv_key}" #{html_options} />\n}
|
52
59
|
html
|
53
60
|
end
|
54
61
|
|
data/mathcha.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{mathcha}
|
8
|
-
s.version = "0.5.
|
8
|
+
s.version = "0.5.5"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Cory Wilkerson"]
|
12
|
-
s.date = %q{2009-10-
|
12
|
+
s.date = %q{2009-10-17}
|
13
13
|
s.description = %q{Quick little arithmetic plain-text captcha}
|
14
14
|
s.email = %q{coryjwilkerson@gmail.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -25,7 +25,6 @@ Gem::Specification.new do |s|
|
|
25
25
|
"lib/mathcha/mathcha_helper.rb",
|
26
26
|
"lib/mathcha/mathcha_verify.rb",
|
27
27
|
"mathcha.gemspec",
|
28
|
-
"pkg/mathcha-0.5.3.gem",
|
29
28
|
"rails/init.rb",
|
30
29
|
"tasks/mathcha_tasks.rake",
|
31
30
|
"test/mathcha_test.rb",
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mathcha
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Cory Wilkerson
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-10-
|
12
|
+
date: 2009-10-17 00:00:00 -05:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -40,7 +40,6 @@ files:
|
|
40
40
|
- lib/mathcha/mathcha_helper.rb
|
41
41
|
- lib/mathcha/mathcha_verify.rb
|
42
42
|
- mathcha.gemspec
|
43
|
-
- pkg/mathcha-0.5.3.gem
|
44
43
|
- rails/init.rb
|
45
44
|
- tasks/mathcha_tasks.rake
|
46
45
|
- test/mathcha_test.rb
|
data/pkg/mathcha-0.5.3.gem
DELETED
Binary file
|