Introspects your database string field maximum lengths and automatically defines length validations.
Ruby
Pull request Compare This branch is 51 commits behind rubiety:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib
rails
spec
.gitignore
.rspec
Gemfile
Gemfile.lock
LICENSE
README.rdoc
Rakefile
init.rb
validates_lengths_from_database.gemspec

README.rdoc

Validates Lengths from Database

Few people add length validations to fields in their database, and when saving such fields that have exhausted their length, an SQL error occurs. This gem introspects your table schema for maximum lengths on string and text fields and automatically adds length validations to the model.

Installation

Include the gem using bundler in your Gemfile:

gem "validates_lengths_from_database"

Usage

In your model you can activate validations:

class Post < ActiveRecord::Base
  validates_lengths_from_database
end

It also supports filter-style :only and :except options:

class Post < ActiveRecord::Base
  validates_lengths_from_database :only => [:title, :contents]
end

class Post < ActiveRecord::Base
  validates_lengths_from_database :except => [:other_field]
end

Note that this cannot be done at a global level directly against ActiveRecord::Base, since the validates_length_from_database method requires the class to have a table name (with the ability to load the schema).