How Rails use metaprogramming for the find_by method