def symbol_conversion_algorithm=(algorithm)
      raise(ArgumentError, "Missing symbol conversion algorithm") unless algorithm

      if algorithm.respond_to?(:call)
        @symbol_conversion_algorithm = algorithm
      else
        if algorithm == :default
          @symbol_conversion_algorithm = ALGORITHMS[:lower_camelcase]
        elsif ALGORITHMS.keys.include?(algorithm)
          @symbol_conversion_algorithm = ALGORITHMS[algorithm]
        else
          raise(ArgumentError, "Invalid symbol conversion algorithm")
        end
      end
    end
def symbol_conversion_algorithm=(algorithm)
      raise(ArgumentError, "Missing symbol conversion algorithm") unless algorithm

      if algorithm.respond_to?(:call)
        @symbol_conversion_algorithm = algorithm
      else
        if algorithm == :default
          @symbol_conversion_algorithm = ALGORITHMS[:lower_camelcase]
        elsif ALGORITHMS.keys.include?(algorithm)
          @symbol_conversion_algorithm = ALGORITHMS[algorithm]
        else
          raise(ArgumentError, "Invalid symbol conversion algorithm")
        end
      end
    end
Set default values
initialize
 Method for setting global Symbol-to-string conversion algorithm
 @param [symbol, lambda] algorithm
   Can be symbol corresponding to predefined algorithm or a lambda that accepts a symbol
   as an argument and returns a string