class Metova::Oauth::GenericProvider

Attributes

access_token[RW]
info[RW]
provider[RW]
token_secret[RW]
uid[RW]

Public Class Methods

authenticate(provider, access_token, token_secret = nil) click to toggle source
# File lib/metova/oauth/generic_provider.rb, line 11
def self.authenticate(provider, access_token, token_secret = nil)
  find_provider(provider).new(access_token, token_secret).authenticate
end
new(access_token, token_secret = nil) click to toggle source
# File lib/metova/oauth/generic_provider.rb, line 6
def initialize(access_token, token_secret = nil)
  @access_token = access_token
  @token_secret = token_secret
end

Private Class Methods

find_provider(provider) click to toggle source
# File lib/metova/oauth/generic_provider.rb, line 46
def self.find_provider(provider)
  map = {
    twitter: Metova::Oauth::TwitterProvider,
    facebook: Metova::Oauth::FacebookProvider,
    google_oauth2: Metova::Oauth::GoogleProvider,
    flux: Metova::Oauth::FluxProvider
  }

  map.fetch provider.to_sym
end

Public Instance Methods

name() click to toggle source
# File lib/metova/oauth/generic_provider.rb, line 15
def name
  'OAuth'
end

Protected Instance Methods

consumer_key() click to toggle source
# File lib/metova/oauth/generic_provider.rb, line 37
def consumer_key
  devise_strategy.consumer_key
end
consumer_secret() click to toggle source
# File lib/metova/oauth/generic_provider.rb, line 41
def consumer_secret
  devise_strategy.consumer_secret
end
devise_configuration() click to toggle source
# File lib/metova/oauth/generic_provider.rb, line 29
def devise_configuration
  ::Devise.omniauth_configs[provider]
end
devise_strategy() click to toggle source
# File lib/metova/oauth/generic_provider.rb, line 33
def devise_strategy
  devise_configuration.strategy
end
me() { || ... } click to toggle source
# File lib/metova/oauth/generic_provider.rb, line 20
def me(&block)
  yield
  # rescue errors
end
setup_with_devise?() click to toggle source
# File lib/metova/oauth/generic_provider.rb, line 25
def setup_with_devise?
  devise_configuration.present?
end