Module: Progress::ClassMethods
- Included in:
- Progress
- Defined in:
- lib/progress/class_methods.rb
Overview
Class methods of Progress
Instance Attribute Summary collapse
Class Method Summary collapse
Instance Method Summary collapse
-
#highlight=(value) ⇒ Object
explicitly set highlighting [true/false/nil].
-
#highlight? ⇒ Boolean
highlight output using control characters.
- #io_tty? ⇒ Boolean
-
#note=(note) ⇒ Object
set note.
-
#running? ⇒ Boolean
check if progress was started.
-
#set(new_current, note = nil, &block) ⇒ Object
set value of current progress.
-
#start(total = nil, title = nil) ⇒ Object
start progress indication.
-
#stay_on_line=(value) ⇒ Object
explicitly set staying on one line [true/false/nil].
-
#stay_on_line? ⇒ Boolean
stay on one line.
-
#step(step = nil, note = nil, &block) ⇒ Object
step current progress.
-
#stop ⇒ Object
stop progress.
-
#terminal_title=(value) ⇒ Object
explicitly set showing progress in terminal title [true/false/nil].
-
#terminal_title? ⇒ Boolean
show progress in terminal title.
-
#without_beeper ⇒ Object
don’t refresh progress (eta) periodically for the duration of the block.
Instance Attribute Details
#io ⇒ Object
100 101 102 |
# File 'lib/progress/class_methods.rb', line 100 def io @io ||= $stderr end |
Class Method Details
.extended(klass) ⇒ Object
6 7 8 |
# File 'lib/progress/class_methods.rb', line 6 def self.extended(klass) klass.instance_variable_set(:@lock, Mutex.new) end |
Instance Method Details
#highlight=(value) ⇒ Object
explicitly set highlighting [true/false/nil]
84 85 86 |
# File 'lib/progress/class_methods.rb', line 84 def highlight=(value) @highlight = true && value end |
#highlight? ⇒ Boolean
highlight output using control characters
79 80 81 |
# File 'lib/progress/class_methods.rb', line 79 def highlight? @highlight.nil? ? io_tty? : @highlight end |
#io_tty? ⇒ Boolean
104 105 106 |
# File 'lib/progress/class_methods.rb', line 104 def io_tty? io.tty? || ENV['PROGRESS_TTY'] end |
#note=(note) ⇒ Object
set note
62 63 64 65 66 |
# File 'lib/progress/class_methods.rb', line 62 def note=(note) return unless running? @levels.last.note = note end |
#running? ⇒ Boolean
check if progress was started
57 58 59 |
# File 'lib/progress/class_methods.rb', line 57 def running? @levels && !@levels.empty? end |
#set(new_current, note = nil, &block) ⇒ Object
set value of current progress
35 36 37 38 39 40 41 42 43 |
# File 'lib/progress/class_methods.rb', line 35 def set(new_current, note = nil, &block) if running? ret = @levels.last.set(new_current, note, &block) ret elsif block yield end end |
#start(total = nil, title = nil) ⇒ Object
start progress indication
11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/progress/class_methods.rb', line 11 def start(total = nil, title = nil) init(total, title) force: true return unless block_given? begin yield ensure stop end end |
#stay_on_line=(value) ⇒ Object
explicitly set staying on one line [true/false/nil]
74 75 76 |
# File 'lib/progress/class_methods.rb', line 74 def stay_on_line=(value) @stay_on_line = true && value end |
#stay_on_line? ⇒ Boolean
stay on one line
69 70 71 |
# File 'lib/progress/class_methods.rb', line 69 def stay_on_line? @stay_on_line.nil? ? io_tty? : @stay_on_line end |
#step(step = nil, note = nil, &block) ⇒ Object
step current progress
24 25 26 27 28 29 30 31 32 |
# File 'lib/progress/class_methods.rb', line 24 def step(step = nil, note = nil, &block) if running? ret = @levels.last.step(step, note, &block) ret elsif block yield end end |
#stop ⇒ Object
stop progress
46 47 48 49 50 51 52 53 54 |
# File 'lib/progress/class_methods.rb', line 46 def stop return unless running? if @levels.length == 1 force: true, finish: true stop_beeper end @levels.pop end |
#terminal_title=(value) ⇒ Object
explicitly set showing progress in terminal title [true/false/nil]
94 95 96 |
# File 'lib/progress/class_methods.rb', line 94 def terminal_title=(value) @terminal_title = true && value end |
#terminal_title? ⇒ Boolean
show progress in terminal title
89 90 91 |
# File 'lib/progress/class_methods.rb', line 89 def terminal_title? @terminal_title.nil? ? io_tty? : @terminal_title end |
#without_beeper ⇒ Object
don’t refresh progress (eta) periodically for the duration of the block
109 110 111 112 113 114 115 |
# File 'lib/progress/class_methods.rb', line 109 def without_beeper old_state = @without_beeper @without_beeper = true yield ensure @without_beeper = old_state end |