def add_strategy(name, klass)
      raise ArgumentError, "strategy #{name} already defined, please use another name" if strategies.key?(name.to_sym)

      new_strategies = strategies.dup.merge(name.to_sym => klass).freeze
      self.strategies = new_strategies
    end
def add_strategy(name, klass)
      raise ArgumentError, "strategy #{name} already defined, please use another name" if strategies.key?(name.to_sym)

      new_strategies = strategies.dup.merge(name.to_sym => klass).freeze
      self.strategies = new_strategies
    end
Adds an on_conflict strategy to the configuration.
 It will raise if the strategy exists already

 @param [String] name the name of the custom strategy
 @param [Class] klass the class describing the strategy