Guest User

Untitled

a guest
Aug 22nd, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.75 KB | None | 0 0
  1. How should my Rails before_validation callbacks handle bad data?
  2. class Foo < ActiveRecord::Base
  3.  
  4. before_validation :capitalize_title
  5. validates :title, :presence => true
  6.  
  7. def capitalize_title
  8. title.upcase
  9. end
  10.  
  11. end
  12.  
  13. def capitalize_title
  14. title = title.upcase if title
  15. end
  16.  
  17. before_validation :mangle_data
  18. validate :data_is_okay
  19.  
  20. #...
  21.  
  22. def mangle_data
  23. return if(!data_is_mangleable)
  24. #... mangle away
  25. end
  26.  
  27. def date_is_okay
  28. if(!data_is_mangleable)
  29. # complain
  30. end
  31. if(!data_is_properly_mangled)
  32. # complain some more
  33. end
  34. end
  35.  
  36. def data_is_mangleable
  37. return false if(thing.nil?)
  38. # etc.
  39. end
  40.  
  41. def data_is_properly_mangled
  42. # check that stuff that the before_validation hook doesn't
  43. # have to care about.
  44. end
Add Comment
Please, Sign In to add comment