infobar 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6ec671d94461ee9698441c4d24f67957ebcd5c9a
4
- data.tar.gz: 862abaf7cb6c9c56707c5cafbc97cca03643e172
3
+ metadata.gz: 8e3227748461c02d74abab7629613f81b573329a
4
+ data.tar.gz: d506cbe77093832a1d0f7c0f0819cbbd46b408b1
5
5
  SHA512:
6
- metadata.gz: 41de04b72a0c254c67796c0a437dce3c7dd0a57d42f3305ae7125a664b0c5ea288aa2919b37baa8ca55ea641cd25cce94142bee562f7f414cb4ec7b720e90a0e
7
- data.tar.gz: fb93a67f2e710dcac96bf4926c322a35f9e3e2531b761c7265ccafe5e8718df4da743ca02e74059b2d5642a2804b82660a8918ef5ee661c80da7d3254e31840c
6
+ metadata.gz: a8f14234acd42a2f1e17d74e3884b8712ce5a2f0138399a3075a49f51d40186c59dd56d41aab3bb31fb4448682de559b41e6186c1b7ac3d8ab414047d115a079
7
+ data.tar.gz: 5055eb206b181521df6e0bb7fa7ccd405a943456dbfab2c05bcefe18d5b954cfa3490f04eab0f9327d15dea99aba4230bb93a601eb6540af27874a94c75ea1a4
data/README.md CHANGED
@@ -21,7 +21,10 @@ Display progress of computations and additional information to the terminal.
21
21
 
22
22
  ## Changes
23
23
 
24
- * 2017-03-10 Release 0.0.4
24
+ * 2017-03-24 Release 0.0.6
25
+ - Add busybar functionality via Infobar.busy { … } call
26
+
27
+ * 2017-03-10 Release 0.0.5
25
28
  - Always provide a default unit for rate display, 'i/s' for "items per second".
26
29
 
27
30
  * 2017-03-10 Release 0.0.4
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.5
1
+ 0.0.6
@@ -1,14 +1,14 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: infobar 0.0.5 ruby lib
2
+ # stub: infobar 0.0.6 ruby lib
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "infobar".freeze
6
- s.version = "0.0.5"
6
+ s.version = "0.0.6"
7
7
 
8
8
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
9
9
  s.require_paths = ["lib".freeze]
10
10
  s.authors = ["Florian Frank".freeze]
11
- s.date = "2017-03-10"
11
+ s.date = "2017-03-24"
12
12
  s.description = "This gem displays progress of computations and additional information to the terminal.".freeze
13
13
  s.email = "flori@ping.de".freeze
14
14
  s.extra_rdoc_files = ["README.md".freeze, "lib/infobar.rb".freeze, "lib/infobar/counter.rb".freeze, "lib/infobar/display.rb".freeze, "lib/infobar/duration.rb".freeze, "lib/infobar/fancy_interface.rb".freeze, "lib/infobar/fifo.rb".freeze, "lib/infobar/frequency.rb".freeze, "lib/infobar/input_output.rb".freeze, "lib/infobar/message.rb".freeze, "lib/infobar/number.rb".freeze, "lib/infobar/rate.rb".freeze, "lib/infobar/spinner.rb".freeze, "lib/infobar/timer.rb".freeze, "lib/infobar/trend.rb".freeze, "lib/infobar/version.rb".freeze]
@@ -16,7 +16,7 @@ Gem::Specification.new do |s|
16
16
  s.homepage = "http://flori.github.com/infobar".freeze
17
17
  s.rdoc_options = ["--title".freeze, "Infobar".freeze, "--main".freeze, "README.md".freeze]
18
18
  s.required_ruby_version = Gem::Requirement.new(">= 2.3".freeze)
19
- s.rubygems_version = "2.6.10".freeze
19
+ s.rubygems_version = "2.6.11".freeze
20
20
  s.summary = "Gem to display information about computations.".freeze
21
21
  s.test_files = ["spec/infobar/config_spec.rb".freeze, "spec/infobar/counter_spec.rb".freeze, "spec/infobar/display_spec.rb".freeze, "spec/infobar/duration_spec.rb".freeze, "spec/infobar/fifo_spec.rb".freeze, "spec/infobar/frequency_spec.rb".freeze, "spec/infobar/input_output_spec.rb".freeze, "spec/infobar/message_spec.rb".freeze, "spec/infobar/number_spec.rb".freeze, "spec/infobar/rate_spec.rb".freeze, "spec/infobar/spinner_spec.rb".freeze, "spec/infobar/timer_spec.rb".freeze, "spec/infobar/trend_spec.rb".freeze, "spec/infobar_spec.rb".freeze, "spec/spec_helper.rb".freeze]
22
22
 
@@ -76,6 +76,26 @@ class Infobar
76
76
  self
77
77
  end
78
78
 
79
+ def busy(**opts)
80
+ block_given? or raise ArgumentError, 'block is required as an argument'
81
+ duration = opts.delete(:sleep) || 0.1
82
+ call({
83
+ total: Float::INFINITY,
84
+ message: { format: ' %l %te %s ', '%s' => { frames: :circle1 } },
85
+ } | opts)
86
+ ib = Thread.new {
87
+ loop do
88
+ +infobar
89
+ sleep duration
90
+ end
91
+ }
92
+ r = nil
93
+ t = Thread.new { r = yield }
94
+ t.join
95
+ ib.kill
96
+ r
97
+ end
98
+
79
99
  def reset
80
100
  @message = convert_to_message('%l %c/%t in %te, ETA %e @%E %s')
81
101
  counter.reset(total: 0, current: 0)
@@ -19,6 +19,8 @@ class Infobar::Spinner
19
19
  cylon: [ '● ', ' ● ', ' ●', ' ● ' ],
20
20
  pacman: [ 'ᗧ∙∙∙∙●', ' O∙∙∙●', ' ᗧ∙∙●',' O∙●', ' ᗧ●', 'ᗣ O', ' ᗣ ᗤ', ' ᗣ O ', ' ᗣ ᗤ ', ' ᗣO ', ' ᗤ ', 'O ∞ ', 'ᗧ ∞ ', 'O ' ],
21
21
  asteroids: [ 'ᐊ ◍', 'ᐃ ◍', 'ᐓ ◍', 'ᐅ· ◍', 'ᐅ ·◍', 'ᐅ ○', 'ᐅ ◌', 'ᐁ ' ],
22
+ clock: %w[ 🕐 🕜 🕑 🕝 🕒 🕞 🕓 🕟 🕔 🕠 🕕 🕡 🕖 🕢 🕗 🕣 🕘 🕤 🕙 🕥 🕚 🕦 🕛 🕧 ],
23
+ hourglass: %w[ ⏳ ⌛ ],
22
24
  }
23
25
 
24
26
  def initialize(frames = nil)
@@ -1,6 +1,6 @@
1
1
  class Infobar
2
2
  # Infobar version
3
- VERSION = '0.0.5'
3
+ VERSION = '0.0.6'
4
4
  VERSION_ARRAY = VERSION.split('.').map(&:to_i) # :nodoc:
5
5
  VERSION_MAJOR = VERSION_ARRAY[0] # :nodoc:
6
6
  VERSION_MINOR = VERSION_ARRAY[1] # :nodoc:
@@ -12,6 +12,12 @@ describe Infobar do
12
12
  expect(infobar.counter.total).to eq 10
13
13
  end
14
14
 
15
+ it 'can be used to signal being busy with a block' do
16
+ expect { Infobar.busy }.to raise_error ArgumentError
17
+ expect(infobar.display).to receive(:update).at_least(1).and_call_original
18
+ Infobar.busy { sleep 0.2 }
19
+ end
20
+
15
21
  it 'can be called and update instantly' do
16
22
  expect(infobar).to receive(:update).and_call_original
17
23
  Infobar(total: 10, update: true)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: infobar
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Florian Frank
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-03-10 00:00:00.000000000 Z
11
+ date: 2017-03-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gem_hadar
@@ -214,7 +214,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
214
214
  version: '0'
215
215
  requirements: []
216
216
  rubyforge_project:
217
- rubygems_version: 2.6.10
217
+ rubygems_version: 2.6.11
218
218
  signing_key:
219
219
  specification_version: 4
220
220
  summary: Gem to display information about computations.