diff --git a/lib/omniauth/strategy.rb b/lib/omniauth/strategy.rb index 5172542..763dae1 100644 --- a/lib/omniauth/strategy.rb +++ b/lib/omniauth/strategy.rb @@ -345,11 +345,13 @@ module OmniAuth end def auth_hash - hash = AuthHash.new(:provider => name, :uid => uid) - hash.info = info unless skip_info? - (credentials_data = credentials) && hash.credentials = credentials_data - (extra_data = extra) && hash.extra = extra_data - hash + credentials_data = credentials + extra_data = extra + AuthHash.new(:provider => name, :uid => uid).tap do |auth| + auth.info = info unless skip_info? + auth.credentials = credentials_data if credentials_data + auth.extra = extra_data if extra_data + end end # Determines whether or not user info should be retrieved. This