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 progerss in terminal title.
Instance Attribute Details
#io ⇒ Object
97 98 99 |
# File 'lib/progress/class_methods.rb', line 97 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]
81 82 83 |
# File 'lib/progress/class_methods.rb', line 81 def highlight=(value) @highlight = true && value end |
#highlight? ⇒ Boolean
highlight output using control characters
76 77 78 |
# File 'lib/progress/class_methods.rb', line 76 def highlight? @highlight.nil? ? io_tty? : @highlight end |
#io_tty? ⇒ Boolean
101 102 103 |
# File 'lib/progress/class_methods.rb', line 101 def io_tty? io.tty? || ENV['PROGRESS_TTY'] end |
#note=(note) ⇒ Object
set note
60 61 62 63 |
# File 'lib/progress/class_methods.rb', line 60 def note=(note) return unless running? @levels.last.note = note end |
#running? ⇒ Boolean
check if progress was started
55 56 57 |
# File 'lib/progress/class_methods.rb', line 55 def running? @levels && !@levels.empty? end |
#set(new_current, note = nil, &block) ⇒ Object
set value of current progress
34 35 36 37 38 39 40 41 42 |
# File 'lib/progress/class_methods.rb', line 34 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 |
# 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]
71 72 73 |
# File 'lib/progress/class_methods.rb', line 71 def stay_on_line=(value) @stay_on_line = true && value end |
#stay_on_line? ⇒ Boolean
stay on one line
66 67 68 |
# File 'lib/progress/class_methods.rb', line 66 def stay_on_line? @stay_on_line.nil? ? io_tty? : @stay_on_line end |
#step(step = nil, note = nil, &block) ⇒ Object
step current progress
23 24 25 26 27 28 29 30 31 |
# File 'lib/progress/class_methods.rb', line 23 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
45 46 47 48 49 50 51 52 |
# File 'lib/progress/class_methods.rb', line 45 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]
91 92 93 |
# File 'lib/progress/class_methods.rb', line 91 def terminal_title=(value) @terminal_title = true && value end |
#terminal_title? ⇒ Boolean
show progerss in terminal title
86 87 88 |
# File 'lib/progress/class_methods.rb', line 86 def terminal_title? @terminal_title.nil? ? io_tty? : @terminal_title end |