Sha256: 8236584e0bed158c0fd92df5b7b4399b77759b69acf33bb14801515a88c760bb

Contents?: true

Size: 1.16 KB

Versions: 1

Compression:

Stored size: 1.16 KB

Contents

module ScimRails
  class << self
    def configure
      yield config
    end

    def config
      @_config ||= Config.new
    end
  end

  class Config
    ALGO_NONE = "none".freeze

    attr_accessor \
      :basic_auth_model,
      :basic_auth_model_authenticatable_attribute,
      :basic_auth_model_searchable_attribute,
      :mutable_user_attributes,
      :mutable_user_attributes_schema,
      :queryable_user_attributes,
      :scim_users_list_order,
      :scim_users_model,
      :scim_users_scope,
      :scim_user_prevent_update_on_create,
      :signing_secret,
      :signing_algorithm,
      :user_attributes,
      :user_deprovision_method,
      :user_reprovision_method,
      :user_schema

    def initialize
      @basic_auth_model = "Company"
      @scim_users_list_order = :id
      @scim_users_model = "User"
      @signing_algorithm = ALGO_NONE
      @user_schema = {}
      @user_attributes = []
    end

    def mutable_user_attributes_schema
      @mutable_user_attributes_schema || @user_schema
    end

    def basic_auth_model
      @basic_auth_model.constantize
    end

    def scim_users_model
      @scim_users_model.constantize
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
scim_rails-0.3.0 lib/scim_rails/config.rb