Salut Guillaume,

J'ai essayé de faire un validates_class_of hors Rails (donc ne mimant
pas leur mécanisme d'écriture de condition avant l'appel à la méthode
qui la teste), et j'ai ça :

def validates_class_of (obj, validation_params)

   # validates that obj is an object of validation_params[:class]
   # for example : validates_class_of :price, :class => Float

   if eval(obj.id2name + ".class") != validation_params[:class]

Je trouve ça... assez laid pour être franc.

def validates_class(obj, klass, validation_params)
 if obj.is_a?(klass)
...

c'est pas plus simple ?

      errors.add(:obj, validation_params[:message] || "should be a
#{validation_params[:class]} object")
      return false
   else
      return true
   end

end

  -- Jean-François.

--
À la renverse.
_______________________________________________
Railsfrance mailing list
Railsfrance@rubyonrails.fr
http://lists.rubyonrails.fr/mailman/listinfo/railsfrance

Répondre à