Module: SimpleCaptcha::ViewHelper
- Included in:
- Middleware
- Defined in:
- lib/simple_captcha/view.rb
Overview
:nodoc
Instance Method Summary collapse
-
#show_simple_captcha(options = {}) ⇒ Object
Simple Captcha is a very simplified captcha.
- #simple_captcha_options(options = {}) ⇒ Object
Instance Method Details
#show_simple_captcha(options = {}) ⇒ Object
Simple Captcha is a very simplified captcha.
It can be used as a Model or a Controller based Captcha depending on what options we are passing to the method show_simple_captcha.
show_simple_captcha method will return the image, the label and the text box. This method should be called from the view within your form as…
<%= show_simple_captcha %>
The available options to pass to this method are
-
label
-
object
Label:
default label is “type the text from the image”, it can be modified by passing :label as
<%= show_simple_captcha(:label => “new captcha label”) %>.
Object
This option is needed to create a model based captcha. If this option is not provided, the captcha will be controller based and should be checked in controller’s action just by calling the method simple_captcha_valid?
To make a model based captcha give this option as…
<%= show_simple_captcha(:object => “user”) %> and also call the method apply_simple_captcha in the model this will consider “user” as the object of the model class.
Examples
-
controller based
<%= show_simple_captcha(:label => “Human Authentication: type the text from image above”) %>
-
model based
<%= show_simple_captcha(:object => “person”, :label => “Human Authentication: type the text from image above”) %>
Find more detailed examples with sample images here on my blog EXPRESSICA.com
All Feedbacks/CommentS/Issues/Queries are welcome.
45 46 47 |
# File 'lib/simple_captcha/view.rb', line 45 def show_simple_captcha( = {}) render :partial => SimpleCaptcha.partial_path, :locals => { :simple_captcha_options => () } end |
#simple_captcha_options(options = {}) ⇒ Object
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/simple_captcha/view.rb', line 49 def ( = {}) key = simple_captcha_key([:object]) if [:multiple] === false # It's not the first captcha, we only need to return the key [:field_value] = key else # It's the first captcha in the page, we generate a new key [:field_value] = set_simple_captcha_data(key, ) end defaults = { :image => simple_captcha_image(key, ), :label => I18n.t('simple_captcha.label'), :field => simple_captcha_field(), :refresh_button => (), }.merge() end |