Class: S3Zipper::Spinner
- Inherits:
-
Object
- Object
- S3Zipper::Spinner
- Includes:
- Concurrent::Async
- Defined in:
- lib/s3_zipper/spinner.rb
Instance Method Summary collapse
- #finish(title: nil) ⇒ Object
- #increment ⇒ Object
-
#initialize(title: "", enabled: true, steps: %w[▸▹▹▹▹▹ ▹▸▹▹▹▹ ▹▹▸▹▹▹ ▹▹▹▸▹▹ ▹▹▹▹▸▹ ▹▹▹▹▹▸ ▹▹▹▹▹]) ⇒ Spinner
constructor
A new instance of Spinner.
- #reset(title: nil, total: nil, format: nil) ⇒ Object
- #spin ⇒ Object
- #start ⇒ Object
Constructor Details
#initialize(title: "", enabled: true, steps: %w[▸▹▹▹▹▹ ▹▸▹▹▹▹ ▹▹▸▹▹▹ ▹▹▹▸▹▹ ▹▹▹▹▸▹ ▹▹▹▹▹▸ ▹▹▹▹▹]) ⇒ Spinner
Returns a new instance of Spinner.
9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/s3_zipper/spinner.rb', line 9 def initialize title: "", enabled: true, steps: %w[▸▹▹▹▹▹ ▹▸▹▹▹▹ ▹▹▸▹▹▹ ▹▹▹▸▹▹ ▹▹▹▹▸▹ ▹▹▹▹▹▸ ▹▹▹▹▹] return unless enabled || true = ProgressBar.create( format: "[%B] %t", total: nil, length: 100, title: title, autofinish: false, unknown_progress_animation_steps: steps, ) end |
Instance Method Details
#finish(title: nil) ⇒ Object
50 51 52 53 54 55 56 |
# File 'lib/s3_zipper/spinner.rb', line 50 def finish title: nil return unless .title = title if title .format = "[✔] %t" .finish end |
#increment ⇒ Object
44 45 46 47 48 |
# File 'lib/s3_zipper/spinner.rb', line 44 def increment return unless .increment end |
#reset(title: nil, total: nil, format: nil) ⇒ Object
22 23 24 25 26 27 28 29 30 |
# File 'lib/s3_zipper/spinner.rb', line 22 def reset title: nil, total: nil, format: nil return unless .progress = 0 .title = title if title .total = total if total .format = format if format refresh end |
#spin ⇒ Object
36 37 38 39 40 41 42 |
# File 'lib/s3_zipper/spinner.rb', line 36 def spin return unless until .finished? increment sleep(2) end end |
#start ⇒ Object
32 33 34 |
# File 'lib/s3_zipper/spinner.rb', line 32 def start async.spin end |