= Indicator
Display activity with ASCII spinners and progress indicators.
= Description
Sometimes you need to display activity on the text console to inform the user that the
program is actually doing something. Be funny with a lot predefined sets or make you own
widget to display an animation text during a long-running process in your console app.
=Installation
==From the command line.
gem install indicator
==Using Gemfile.
1 Add to your application Gemfile
gem 'indicator'
2 Type
bundle install
=Usage
==Animated
Indicator::spin do
10.times do
sleep 0.5
end
end
==On demand update
Indicator::spin(:ondemand => true) do |spinner|
10.times do
spinner.spinning
sleep 0.2
end
end
==Manual control
spinner = Indicator.spinner
10.times do
spinner.spinning
sleep 0.2
end
spinner.clean
==Predefined sets
Indicator::spin :set => :p do
10.times do
sleep 0.5
end
end
Available sets: :x :< :> :V :dots :bars :p :bqpd :-
UNICODE extra sets: :arrows :box :braile
==Custom set
Indicator::spin :frames => %w{ * + } do
10.times do
sleep 0.5
end
end
=Advanced usage
===Using count
Use int method to increment percent
Indicator::spin :count => 20 do |spin|
10.times do
spin.inc 2
sleep 0.2
end
end
Default increment is 1.
===Using count, pre-text and post-text
Indicator::spin :pre => "Work", :frames => [' ', '. ', '.. ', '...'], :count => 10, :post => ' in progress' do |spin|
10.times do
spin.inc
sleep 0.2
end
spin.clear
end
:pre_percent and :post_percent is also available.
===Change post-text
Indicator::spin :pre => "Work", :frames => [' ', '. ', '.. ', '...'], :count => 10 do |spin|
10.times do |i|
spin.inc
spin.post= " in progress #{i} of 10"
sleep 0.2
end
end