Sha256: 8ca6084b95edaeb5f5ca801c7a27b58e58e50a4877bcc742edf96af7bd0dab18

Contents?: true

Size: 1.6 KB

Versions: 6

Compression:

Stored size: 1.6 KB

Contents

module SimpleTokenAuthentication
  module Configuration

    mattr_reader   :fallback
    mattr_accessor :header_names
    mattr_accessor :identifiers
    mattr_accessor :sign_in_token
    mattr_accessor :controller_adapters
    mattr_accessor :model_adapters
    mattr_accessor :adapters_dependencies
    mattr_accessor :skip_devise_trackable

    # Default configuration
    @@fallback = :devise
    @@header_names = {}
    @@identifiers = {}
    @@sign_in_token = false
    @@controller_adapters = ['rails', 'rails_api']
    @@model_adapters = ['active_record', 'mongoid']
    @@adapters_dependencies = { 'active_record' => 'ActiveRecord::Base',
                                'mongoid'       => 'Mongoid::Document',
                                'rails'         => 'ActionController::Base',
                                'rails_api'     => 'ActionController::API' }
    @@skip_devise_trackable = true

    # Allow the default configuration to be overwritten from initializers
    def configure
      yield self if block_given?
    end

    def parse_options(options)
      unless options[:fallback].presence
        if options[:fallback_to_devise]
          options[:fallback] = :devise
        elsif options[:fallback_to_devise] == false
          if SimpleTokenAuthentication.fallback == :devise
              options[:fallback] = :none
          else
            options[:fallback] = SimpleTokenAuthentication.fallback
          end
        else
          options[:fallback] = SimpleTokenAuthentication.fallback
        end
      end
      options.reject! { |k,v| k == :fallback_to_devise }
      options
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
simple_token_authentication-1.11.0 lib/simple_token_authentication/configuration.rb
simple_token_authentication-1.10.1 lib/simple_token_authentication/configuration.rb
simple_token_authentication-1.10.0 lib/simple_token_authentication/configuration.rb
simple_token_authentication-1.9.1 lib/simple_token_authentication/configuration.rb
simple_token_authentication-1.9.0 lib/simple_token_authentication/configuration.rb
simple_token_authentication-1.8.0 lib/simple_token_authentication/configuration.rb