Add ejaydj codes

Codes added from my gem: https://github.com/ejaypcanaria/ejaydj for review purpose only.
Nope. `select` just returns an array that's why I have to use `.first`. A good refactoring for `detect` as well :)