def progress=(val)
      return if val > @max
      return if val == @value
      return if val % @step != 0 && (@max - val) >= @step

      @progress = val
      @pbar.progress = val
      @usage += 1

      if val >= @max
        puts_footer
      end
    end
def progress=(val)
      return if val > @max
      return if val == @value
      return if val % @step != 0 && (@max - val) >= @step

      @progress = val
      @pbar.progress = val
      @usage += 1

      if val >= @max
        puts_footer
      end
    end
Инициализация прогресс-бара

 @param [Hash] opts параметры настройки прогресс-бара
 @option opts [String] :title заголовок прогресс-бара
 @option opts [Integer] :max максимальное значение
 @option opts [Integer] :progress текущее значение (по умолчанию 0)
 @option opts [String] :footer резюмирующая строка. Допускает два шаблона: [memory] и [executed_at], например:
   "Завершено за [executed_at] секунд. Занятая память [memory]"
 @option opts [Integer] :step шаг кратно которому реально перерисовывается прогресс-бар
 @return [Object] нет
 Метод устанавливает новое значение прогресс-бара

 @param [Integer] val новое значение прогресс-бара. Если равно max - то вызывается функция вывода футера
 @return [Object] нет