I'm sort of conflicted here. I'm using CanCan and it automatically load and authorize User/Create.
My Facebook/Init is as follows. I'm tempted to do something similar and call User/Init from User/Create method. This way I hide the implementation in the UserController so User/Create and User/Update will still call the User/Init method. The problem starts when I need the Controller to know whether it is a new record or just an update.
Would you do this differently?
class Facebook < ActiveRecord::Base
user = User.find_by_identifier(fb_user.try(:identifier).try(:to_s))
user.identifier = fb_user.try(:identifier).try(:to_s)
user.access_token = fb_user.access_token.try(:to_s)
user.updating_password = true
user.identifier = fb_user.try(:identifier).try(:to_s)
user.access_token = fb_user.try(:access_token).try(:to_s)
user.username = fb_user.try(:username).try(:to_s)
user.send_registration_confirmation