Plugins in Rails

Wer erstmal ein wenig mit Rails gearbeitet hat gewöhnt sich schnell daran, erst nach einem Plugin zu suchen, bevor man das Rad neu erfindet. Sicherlich hängt das auch mit zusammen, dass die Arbeit mit Plugins in Rails so wunderbar einfach ist. Möchte man z.B. eine Mailadresse validieren bevor man sie in die Datenbank schreibt, greift man überlicherweise zu einem mehr oder weniger komplexen Regulären Ausdruck.

In Rails sucht man aus der Fülle der vorhandenen Plugin eines heraus, ich nutze auf Empfehlung das Plugin Email Veracity Plugin zu erhalten unter http://rails.savvica.com/2007/11/6/email-veracity-plugin
Plugin Installation unter Rails (Windows)

ruby script/plugin install http://svn.savvica.com/public/plugins/validates_email_veracity_of


dann rattert es ein wenig auf der Kommandozeile und das Plugin ist installiert. Alles was noch bleibt ist den Model Klassen freundlich mitzuteilen welcher auf gültige E-Mailadressen geprüft werden sollen. Das geht so:

class Contact < ActiveRecord::Base  
  validates_email_veracity_of :email, :domain_check => false
end


In dem meisten Fällen verzichte ich auf den Domaincheck, bei dem der MX Record der Adresse geprüft wird. Zuschalten kann man dass immer noch wenn die Anzahl der gefakten Adressen im System ansteigt. Zumindest nach den letzten Kenntnissen die ich habe, ist die Gefahr von false-positives nicht ganz auszuschliessen.

Sicherlich gibt es auch in allen anderen Sprachen hervorragende Scripte die E-Mailadressen validieren, aber die geniale und einfache Integration ist es die Spass macht - auch mal neues auszuprobieren. Der geneigte "nicht Railskundige" Leser möge registieren, dass sich die Integration der E-Mailvalidierung auf genau zwei Zeilen beschränkt. Eine Zeile für die Installation des Plugins, eine Zeile für die eigentliche Integration in die Applikation. Wie Bitte??...Nein! Man muss kein HTML bearbeiten, validates_email_veracity_of :email, :domain_check => false genügt. Mehr gibt es nicht zu tun. Sie können noch die Messages überschreiben, ein wenig konfigurieren, aber eigentlich ist man nach der einen Zeile fertig. Ehrlich...

Zwei gute Startpunkte für die Pluginsuche sind:
http://agilewebdevelopment.com/
http://www.railslodge.com/