Add ChangeEmailValidator spec
Tidy ChangeEmailValidator

Line Length
Remove self.
Remove duplication in ChangeEmailValidator
Extract complexity in ChangeEmailValidator

Add some private methods to add more semantics to conditionals
Tidy Comment

Remove self.
Use each rather than for
Use {} block rather than do/end
Use self. rather than ClassName. for class method
Indent private as much as method definitions
Remove explicit return
Line Length
Use inline if
Move callback before method definitions
Use unless instead of if !
Use more meaningful validations in Comment

Use validation method names that describe what the validation does
Improve Comment.find_existing

Use `.where`
Extract complex sql to named variable for readability and line length
Move Comment class method to top of file
Tidy ContactValidator

Line Length
Remove self.
Tidy Holiday

Use self. for class methods
Remove self.
Line length
Move PostRedirect class methods to top of file
Tidy PostRedirect

Line length
Remove self.
Use inline if
Remove explicit return
use unless instead of if !
Extract after_initialize methods in PostRedirect

Use separate methods to explicitly state what’s happening
Tidy ProfilePhoto

Remove self.
Use inline if
Line length
Tidy PurgeRequest

Remove explicit return
Remove unneeded parentheses
Remove self.
Remove extra newlines
Tidy RawEmail

Remove self.
Use inline block
Use inline unless
Use unless instead of if !
Extract RawEmail inline calls to private methods

One less thing for #directory and #filepath to do
Move User callbacks to top of file

Really difficult to figure out what’s going on when a callback is
buried halfway between a load of methods
Group User macro methods at top of file

https://github.com/bbatsov/rails-style-guide#macro-style-methods
Group User class methods at top of class

https://github.com/bbatsov/ruby-style-guide#consistent-classes