http://guides.rubyonrails.org/autoloading_and_reloading_constants.html#autoloading-in-basicobject