fix issue where key can be nil
Don't rely on Rails Hash#except ( for testing )
Add tests