RailsCasts Pro episodes are now free!
Learn more or hide this
GitHub User: theghall
first_or_create does not execute the block code if it finds a record. I ending up doing this:
def self.from_omniauth(auth) user = self.where(provider: auth.provider, uid: auth.uid).first user = User.new unless user self.grab_oauth_values(auth, user) end private def self.grab_oauth_values(auth, user) user.provider = auth.provider user.uid = auth.uid user.name = auth.info.name user.email = auth.info.email user.image = auth.info.image user.oauth_token = auth.credentials.token user.oauth_expires_at = Time.at(auth.credentials.expires_at) user.save! user end
first_or_create does not execute the block code if it finds a record. I ending up doing this: