def register_adapter(name:, klass:, enable: false, variables: nil)
      @available_adapters[name.to_sym] = klass
      enable_adapter(name: name) if enable
      set_adapter_variables(name: name, variables: variables)
    end
def register_adapter(name:, klass:, enable: false, variables: nil)
      @available_adapters[name.to_sym] = klass
      enable_adapter(name: name) if enable
      set_adapter_variables(name: name, variables: variables)
    end
Registers an adapter and enable it if asked.

 === Usage

 @example:
   learner = Knowledge::Learner.new

   learner.register_adapter(name: :my_adapter, klass: MyAdapter, enable: true)

 === Parameters

 @param :name [String | Symbol]
 @param :klass [Class]
 @param :enable [Boolean]
 @param :variables [Hash | String | nil]