Module: Ramaze::Helper::SimpleCaptcha
- Includes:
- Traited
- Defined in:
- lib/ramaze/helper/simple_captcha.rb
Overview
Produce very simple question/answer pairs.
The default is a trivial mathematical problem.
Usage (trait is optional):
class RegisterController < Ramaze::Controller
trait :captcha => lambda{
["the answer to everything", "42"]
}
def index
%(
<form action="#{r(:answer}">
What is #{simple_captcha}?
<input type="text" name="answer" />"
<input type="submit" />
</form>
).strip
end
def answer
check_captcha(request[:answer])
end
end
Constant Summary collapse
- NUMBERS =
[5, 10, 15, 20]
Instance Method Summary collapse
-
#check_captcha(answer) ⇒ Object
check the given
answer
against the answer stored in the session. -
#simple_captcha ⇒ Object
Call the trait and store question/answer in session.
Instance Method Details
#check_captcha(answer) ⇒ Object
check the given answer
against the answer stored in the session.
54 55 56 57 58 |
# File 'lib/ramaze/helper/simple_captcha.rb', line 54 def check_captcha(answer) return false unless captcha = session[:CAPTCHA] answer.to_s.strip == captcha[:answer].to_s end |
#simple_captcha ⇒ Object
Call the trait and store question/answer in session
46 47 48 49 50 51 |
# File 'lib/ramaze/helper/simple_captcha.rb', line 46 def simple_captcha question, answer = ancestral_trait[:captcha].call session[:CAPTCHA] = { :question => question, :answer => answer.to_s } question end |