As rails developers we try to maintain dry princples along with that we also focus in skinny controllers and skinny models.
One of the way I have used to approach skinny model would be by using concerns with.I had a model called person.rb which was very length.There were alot of relations and validations and authenticating method present in it.Once my app was up and working well I tried to refractor my code.
I have created a config file called concerns.rb in config/initializers so that these gets preloaded.
class << ActiveRecord::Base
concerns.each do |concern|
Once this is done I have created a folder which says person and created files for authentication methods,validations,association.In the person.rb model I have included them as concerned_with :validations, :associations, :authenticated_methods
By using the above method I got a skinny model with the general rails standards.