class Authentication
Public Class Methods
from(omniauth_data, resource)
click to toggle source
# File lib/omniauth/multiprovider/models/authentication.rb, line 7 def self.from(omniauth_data, resource) auth = normalize(omniauth_data) authentication = self.find_or_create(auth) authentication.access_token = auth.credentials.token authentication.access_token_secret = auth.credentials.secret authentication.resource = resource resource.save(validate: false) authentication.save authentication end
normalize(omniauth_data)
click to toggle source
# File lib/omniauth/multiprovider/models/authentication.rb, line 18 def self.normalize(omniauth_data) return omniauth_data if omniauth_data.is_a? Hashugar normalized = omniauth_data.to_hashugar normalized.delete(:extra) normalized.credentials ||= {} normalized.info ||= {} normalized.info.delete(:description) normalized end
Private Class Methods
find_or_create(auth)
click to toggle source
# File lib/omniauth/multiprovider/models/authentication.rb, line 30 def self.find_or_create(auth) self.find_by( provider: auth.provider, uid: auth.uid) || self.new( provider: auth.provider, uid: auth.uid, access_token: auth.credentials.token) end