· 9 years ago · Nov 12, 2016, 08:42 AM
1class User < Sequel::Model
2 def self.from_omniauth(auth)
3 user = User.first(auth.slice(:provider, :uid))
4 values = {
5 provider: auth.provider,
6 uid: auth.uid,
7 name: auth.info.name,
8 oauth_token: auth.credentials.token,
9 oauth_expires_at: Time.at(auth.credentials.expires_at),
10 }
11 if user
12 user.update(values)
13 else
14 User.create(values)
15 end
16 end
17end