Sha256: c683e201236f0242b5347756e4815e73f3a2acbb894d58d44ca179c835ae2499

Contents?: true

Size: 866 Bytes

Versions: 2

Compression:

Stored size: 866 Bytes

Contents

# frozen_string_literal: true

module SwitchUser
  module Provider
    autoload :Base, 'switch_user/provider/base'
    autoload :Authlogic, 'switch_user/provider/authlogic'
    autoload :Clearance, 'switch_user/provider/clearance'
    autoload :Devise, 'switch_user/provider/devise'
    autoload :RestfulAuthentication, 'switch_user/provider/restful_authentication'
    autoload :Sorcery, 'switch_user/provider/sorcery'
    autoload :Dummy, 'switch_user/provider/dummy'
    autoload :Session, 'switch_user/provider/session'

    def self.init(controller)
      klass_part =
        if SwitchUser.provider.is_a?(Hash)
          SwitchUser.provider[:name]
        else
          SwitchUser.provider
        end

      klass_part = klass_part.to_s.classify

      klass = "SwitchUser::Provider::#{klass_part}".constantize

      klass.new(controller)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
switch_user-1.5.4 lib/switch_user/provider.rb
switch_user-1.5.3 lib/switch_user/provider.rb