Class: StTools::ProgressBar

Inherits:
Object
  • Object
show all
Defined in:
lib/st_tools/progress_bar.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(opts = {}) ⇒ Object

Инициализация прогресс-бара

Parameters:

  • opts (Hash) (defaults to: {})

    параметры настройки прогресс-бара

Options Hash (opts):

  • :title (String)

    заголовок прогресс-бара

  • :max (Integer)

    максимальное значение

  • :progress (Integer)

    текущее значение (по умолчанию 0)

  • :footer (String)

    резюмирующая строка. Допускает два шаблона: [memory] и [executed_at], например: “Завершено за [executed_at] секунд. Занятая память [memory]”

  • :step (Integer)

    шаг кратно которому реально перерисовывается прогресс-бар



22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/st_tools/progress_bar.rb', line 22

def initialize(opts = {})
  @title = opts[:title] || ''
  @max = opts[:max] || 100
  @progress = opts[:progress] || 0
  @footer = opts[:footer] || ''
  @step = opts[:step] || 100

  @usage = 1
  @executed_at = 0
  @start_at = ::Time.now

  init_progress_bar
end

Instance Attribute Details

#executed_atObject (readonly)

Время выполнения всей операции в секундах (формируется после достижения max)



8
9
10
# File 'lib/st_tools/progress_bar.rb', line 8

def executed_at
  @executed_at
end

#maxObject (readonly)

Максимальное значение прогресс-бара



10
11
12
# File 'lib/st_tools/progress_bar.rb', line 10

def max
  @max
end

#progressObject

Текущее значение прогресс-бара



6
7
8
# File 'lib/st_tools/progress_bar.rb', line 6

def progress
  @progress
end

#usageObject (readonly)

Количество вызовов метода progress=.



4
5
6
# File 'lib/st_tools/progress_bar.rb', line 4

def usage
  @usage
end