Merb plugin that provides recaptcha.net service helpers
Ruby
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib
spec
.gitignore
CHANGES
LICENSE
README.rdoc
Rakefile
TODO
merb-recaptcha.gemspec

README.rdoc

merb-recaptcha

About

Merb-recaptcha is plugin for Merb web-framework. It provides view and controller helpers for Recaptcha service.

Installation

Install gem from github.com:

gem install merb-recaptcha --source=http://gemcutter.org

Add following line in config/dependencies.rb of your web application:

dependency "merb-recaptcha", "~> 1.0.0", :require_as => "merb-recaptcha"

Sign up at Recaptcha and get public and private keys. Add keys in config/init.rb:

Merb::BootLoader.after_app_loads do
  Merb::Plugins.config[:merb_recaptcha][:public_key] = "... here your public key ..."
  Merb::Plugins.config[:merb_recaptcha][:private_key] = "... here your private key ..."
end

Usage

Just add helper in your form:

<%= form_for @users, :action => resource(:users), :method => :post do %>
  .....
  <%= recaptcha_tags %>
  <%= submit "Send" %>
<% end %>

And then check captcha in controller:

class Users < Application
  ......
  def create(user)
    @user = User.new(user)
    if (captcha_correct = recaptcha_valid?) && @user.save
      redirect resource(@user)
    else
      unless captcha_correct
        @user.valid?
        @user.errors.add(:general, "Captcha code is incorrect")
      end
    end
    render :new
  end
  ......
end