validates_uri_format_of
Rails plugin that provides a validates_uri_format_of method to ActiveRecord models.
You can require or disallow certain components of a URI.
Installation
Just add the following line to your environment.rb:
config.gem 'validates_uri_format_of'
Usage
After installing the plugin, it's used like
class User < ActiveRecord::Base
validates_uri_format_of :url,
:allow_nil => true,
:require_fqdn => true
end
Features
:schemes– allowed URI schemes. Default:['http','https']:require_scheme– Default:true:require_host– Default:true:require_path– Default:true:require_fqdn– enforce a fully qualified domain name? Default:nil:with_port– Default:nil:with_query–truerequires a query string (e.g. '?query'),falsedoes not allow a query string. Default:nil(no check):with_fragment–truerequires a fragment string (e.g. '#fragment'),falsedoes not allow a fragment string. Default:nil(no check):with_auth–truerequires authentication info (e.g. 'http://user:[email protected]/'),falsedoes not allow a fragment string. Default:nil(no check):on– Specifies when this validation is active (default is:save, other options:create,:update).:if– Specifies a method, proc or string to call to determine if the validation should occur (e.g.:if => :allow_validation, or:if => Proc.new { |user| user.signup_step > 2 }). The method, proc or string should return or evaluate to a true or false value.:unless– Specifies a method, proc or string to call to determine if the validation should not occur (e.g.:unless => :skip_validation, or:unless => Proc.new { |user| user.signup_step <= 2 }). The method, proc or string should return or evaluate to a true or false value.
Do also a look at the lib/ and test/ directories.
Credits and license
By Digineo GmbH under the MIT license.