Sha256: b6c90a8ac701ce342a974b27a91b1caeb2ac29a3f6d0d4f439770e421805478e

Contents?: true

Size: 1.78 KB

Versions: 146

Compression:

Stored size: 1.78 KB

Contents

Validation Reflection
=====================

Version 0.3.1, 2008-01-03

This plugin adds reflective access to validations

 - ModelClass.reflect_on_all_validations
 - ModelClass.reflect_on_validations_for(:property)

Both of these methods return arrays containing instances of
ActiveRecord::Reflection::MacroReflection. For example

  class Person < ActiveRecord::Base
    validates_presence_of :name
    validates_numericality_of :size, :only_integer => true
  end

  refl = Person.reflect_on_validations_for(:name)
  refl[0].macro
  # => :validates_presence_of
  
  refl = Person.reflect_on_validations_for(:size)
  refl[0].macro
  # => :validates_numericality_of
  refl[0].options
  # => { :only_integer => true }
  

== Customization

Usually, all the standard Rails validations are reflected.
You can change this -- add or remove validations -- in an
application-specific configuration file, 

  config/plugins/validation_reflection.rb

In that file change config.reflected_validations to suit your
needs. Say, you have a custom validation for email addresses,
validates_as_email, then you could add it like this

  config.reflected_validations << :validates_as_email

If validates_as_email is implemented in terms of other validation
methods, these validations are added to the reflection metadata,
too. As that may not be what you want, you can disable reflection
for these subordinate validations

  config.reflected_validations << {
  	:method => :validates_as_email,
  	:ignore_subvalidations => true
  }

You have to make sure that all reflected validations are defined
before this plugin is loaded. To this end, you may have to
explicitly set the load order of plugins somewhere in the environment
configuration using

  config.plugins = [...]




Copyright (c) 2006-2008, Michael Schuerig, michael@schuerig.de

Version data entries

146 entries across 146 versions & 12 rubygems

Version Path
redinger-validation_reflection-0.3.2 README
redinger-validation_reflection-0.3.3 README
muck-contents-0.1.8 test/rails_root/vendor/plugins/validation_reflection/README
muck-invites-0.1.2 test/rails_root/vendor/plugins/validation_reflection/README
muck-shares-0.1.7 test/rails_root/vendor/plugins/validation_reflection/README
muck-blogs-0.1.7 test/rails_root/vendor/plugins/validation_reflection/README
muck-contents-0.1.7 test/rails_root/vendor/plugins/validation_reflection/README
muck-friends-0.1.14 test/rails_root/vendor/plugins/validation_reflection/README
muck-comments-0.1.13 test/rails_root/vendor/plugins/validation_reflection/README
muck-users-0.2.16 test/rails_root/vendor/plugins/validation_reflection/README
muck-engine-0.2.6 test/rails_root/vendor/plugins/validation_reflection/README
cms-lite-0.5.7 test/rails_root/vendor/plugins/validation_reflection/README
muck-friends-0.1.13 test/rails_root/vendor/plugins/validation_reflection/README
muck-raker-0.2.0 test/rails_root/vendor/plugins/validation_reflection/README
muck-engine-0.2.5 test/rails_root/vendor/plugins/validation_reflection/README
muck-users-0.2.15 test/rails_root/vendor/plugins/validation_reflection/README
muck-raker-0.1.49 test/rails_root/vendor/plugins/validation_reflection/README
muck-raker-0.1.48 test/rails_root/vendor/plugins/validation_reflection/README
muck-raker-0.1.47 test/rails_root/vendor/plugins/validation_reflection/README
muck-raker-0.1.46 test/rails_root/vendor/plugins/validation_reflection/README