def variables=(path_or_descriptor)
      case path_or_descriptor
      when Hash
        @variables = path_or_descriptor
      when String
        fetch_variables_config(path_or_descriptor)
      else
        raise ::Knowledge::LearnError, "Unable to understand following path or descriptor: #{path_or_descriptor}"
      end
    end
def variables=(path_or_descriptor)
      case path_or_descriptor
      when Hash
        @variables = path_or_descriptor
      when String
        fetch_variables_config(path_or_descriptor)
      else
        raise ::Knowledge::LearnError, "Unable to understand following path or descriptor: #{path_or_descriptor}"
      end
    end
== Variables config ==============================================================================================

 Setter for the variables config.

 === Usage

 @example:
   learner = Knowledge::Learner.new

   learner.variables = { name: 'value' }

 @example:
   learner = Knowledge::Learner.new

   learner.use(name: :env)

   learner.variables = { name: 'ENV_KEY' }

 @example:
   learner = Knowledge::Learner.new

   learner.variables = 'path/to/vars/config/file.yml'

 === Errors

 @raise [Knowledge::LearnError] if parameter isn't a hash or a string

 === Parameters

 @param path_or_descriptor [String | Hash]