Skip to content


Subversion checkout URL

You can clone with
Download ZIP
The Hivelogic Enkoder Rails Plugin
Latest commit 0bb8747 @dan Fixing the license.
Failed to load latest commit information.
lib First commit
LICENSE First commit
README.textile Fixing the license.
init.rb First commit


Hivelogic Enkoder

The Enkoder plugin provides an extension to TextHelper that can be used to
protect email addresses (or other information) by obfuscating them using
JavaScript code. The only way to decrypt the JavaScript is to actually run it,
hiding the results from email-harvesting robots while revealing them to real

It uses a significantly different (and some might say more secure) algorithm
than the built-in mail_to helper.

Note: There’s no guarantee here — the only way to be completely safe is to not
publish your address at all.


Just drop the “enkoder” folder into the /vendor/plugins folder in your project.


There are two methods:

enkode( html )

This method accepts a block of html (or any text) and returns an enkoded JavaScript.

The second method is:

enkode_mail( email, link_text, title_text=nil, subject=nil )

This method takes an email address, the text to show to the viewer, optional
title text (what’s seen when somebody hovers over the link), and optional
subject for the email, and returns an enkoded email address link.


To enkode a single email address, one could just do:

<%= enkode_mail(‘’,‘click here’) %>

And the following link would be returned (enkoded as JavaScript):

<a href=“mailto:”" title="">click here

Adding a title and subject text would require the second two optional fields:

<%= enkode_mail(‘’,‘click here’, ‘email me’, ‘enkoder’) %>

And we’d get back (enkoded as JavaScript):

<a href=“mailto:”" title=“email me”>click here

Of course we can also enkode many email addresses on the fly:

<% users.each do |user| %> <p><%= enkode_mail(, >

< end %>

To enkode a snippet of XHTML, we can do:

<%= enkode(“

This block will be hidden from spambots.

”) %>

We could protect a link or block of XHTML from being indexed like this:

<%= enkode(‘Try and find this, google!’) %>

We could have anything we wanted in that block, XHTML, links, email addresses, etc.

For more examples and to see the full functionality of the Enkoder, have a look
its permanent page on the web:


Copyright © 2009 Hivelogic Corporation

This plugin is released under the GPL license. See LICENSE file for details.

Something went wrong with that request. Please try again.