infobar 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2b394ca03e7b4a64c6c3aaa730c05727fc33bb4c
4
- data.tar.gz: f0d57d7647a4c43decf21a3b001a14fa46fa321b
3
+ metadata.gz: 259fca2fcc19735ccd0650f9ca07aebd363d2370
4
+ data.tar.gz: c92a5e348371aa5a241e8bdac2eb1b886e3abe79
5
5
  SHA512:
6
- metadata.gz: 1b575a6725e49e44556b4866fb45985ca19790b51321d10cc5e0581df57f71ce8f55c7b4b598bd7dfd7f3d5cffd76558c5d5da46ac1d7d8cdfeff94644ff36a2
7
- data.tar.gz: 1793197d1e8b73ae6a611824d946c634fcc3fb2abce3ccc422de02da00568009b5daec63b19088571f8a5202d3adc39af97a97e5898f1e8940dab1cf94f7ccb0
6
+ metadata.gz: 9ab2fa237f9279a5b0b99239a0afe64845193317d22588dbda3a5b4fbbcdeb887f2a84b5912cf4425b0e96d0bdfc35d4aa227cf6470a3b670d1a2182e89c0729
7
+ data.tar.gz: 2ff8ec4f87a375fcf508182ffd30544305aa6ba6eb1c2f06cbb33af3d790c84e8dc3ad93f7a59e77a9482f80e88d72be59d93a220db4f4588aaa627926aed910
data/README.md CHANGED
@@ -21,6 +21,9 @@ Display progress of computations and additional information to the terminal.
21
21
 
22
22
  ## Changes
23
23
 
24
+ * 2017-02-10 Release 0.0.2
25
+ - Add trend arrow to rate directive
26
+
24
27
  * 2017-02-08 Release 0.0.1
25
28
  - Allow disabling of delegated output via infobar.show = false
26
29
 
data/Rakefile CHANGED
@@ -20,6 +20,7 @@ GemHadar do
20
20
  dependency 'tins', '~> 1.0', '>= 1.13.2'
21
21
  dependency 'term-ansicolor', '~> 1.4'
22
22
  dependency 'complex_config', '~> 0.10'
23
+ dependency 'more_math'
23
24
  development_dependency 'rake'
24
25
  development_dependency 'simplecov'
25
26
  development_dependency 'rspec'
data/TODO.md CHANGED
@@ -3,11 +3,11 @@
3
3
  - add color gradients?
4
4
  - cumulative counters to summarize several progress bars
5
5
  - categorize do progress and display accordingly
6
- - add trend arrow to rate
7
6
  - more documentation, lol
8
7
 
9
8
  ## DONE
10
9
 
10
+ - add trend arrow to rate
11
11
  - units
12
12
  - configuration file?
13
13
  - add finished directive
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.1
1
+ 0.0.2
data/infobar.gemspec CHANGED
@@ -1,24 +1,24 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: infobar 0.0.1 ruby lib
2
+ # stub: infobar 0.0.2 ruby lib
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "infobar".freeze
6
- s.version = "0.0.1"
6
+ s.version = "0.0.2"
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-02-08"
11
+ s.date = "2017-02-10"
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
- 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/frequency.rb".freeze, "lib/infobar/input_output.rb".freeze, "lib/infobar/message.rb".freeze, "lib/infobar/number.rb".freeze, "lib/infobar/spinner.rb".freeze, "lib/infobar/timer.rb".freeze, "lib/infobar/version.rb".freeze]
15
- s.files = [".gitignore".freeze, ".rspec".freeze, ".utilsrc".freeze, "Gemfile".freeze, "README.md".freeze, "Rakefile".freeze, "TODO.md".freeze, "VERSION".freeze, "infobar.gemspec".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/frequency.rb".freeze, "lib/infobar/input_output.rb".freeze, "lib/infobar/message.rb".freeze, "lib/infobar/number.rb".freeze, "lib/infobar/spinner.rb".freeze, "lib/infobar/timer.rb".freeze, "lib/infobar/version.rb".freeze, "spec/config/infobar.yml".freeze, "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/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/spinner_spec.rb".freeze, "spec/infobar/timer_spec.rb".freeze, "spec/infobar_spec.rb".freeze, "spec/spec_helper.rb".freeze]
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]
15
+ s.files = [".gitignore".freeze, ".rspec".freeze, ".utilsrc".freeze, "Gemfile".freeze, "README.md".freeze, "Rakefile".freeze, "TODO.md".freeze, "VERSION".freeze, "infobar.gemspec".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, "spec/config/infobar.yml".freeze, "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]
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
19
  s.rubygems_version = "2.6.8".freeze
20
20
  s.summary = "Gem to display information about computations.".freeze
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/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/spinner_spec.rb".freeze, "spec/infobar/timer_spec.rb".freeze, "spec/infobar_spec.rb".freeze, "spec/spec_helper.rb".freeze]
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
 
23
23
  if s.respond_to? :specification_version then
24
24
  s.specification_version = 4
@@ -31,6 +31,7 @@ Gem::Specification.new do |s|
31
31
  s.add_runtime_dependency(%q<tins>.freeze, [">= 1.13.2", "~> 1.0"])
32
32
  s.add_runtime_dependency(%q<term-ansicolor>.freeze, ["~> 1.4"])
33
33
  s.add_runtime_dependency(%q<complex_config>.freeze, ["~> 0.10"])
34
+ s.add_runtime_dependency(%q<more_math>.freeze, [">= 0"])
34
35
  else
35
36
  s.add_dependency(%q<gem_hadar>.freeze, ["~> 1.9.1"])
36
37
  s.add_dependency(%q<rake>.freeze, [">= 0"])
@@ -39,6 +40,7 @@ Gem::Specification.new do |s|
39
40
  s.add_dependency(%q<tins>.freeze, [">= 1.13.2", "~> 1.0"])
40
41
  s.add_dependency(%q<term-ansicolor>.freeze, ["~> 1.4"])
41
42
  s.add_dependency(%q<complex_config>.freeze, ["~> 0.10"])
43
+ s.add_dependency(%q<more_math>.freeze, [">= 0"])
42
44
  end
43
45
  else
44
46
  s.add_dependency(%q<gem_hadar>.freeze, ["~> 1.9.1"])
@@ -48,5 +50,6 @@ Gem::Specification.new do |s|
48
50
  s.add_dependency(%q<tins>.freeze, [">= 1.13.2", "~> 1.0"])
49
51
  s.add_dependency(%q<term-ansicolor>.freeze, ["~> 1.4"])
50
52
  s.add_dependency(%q<complex_config>.freeze, ["~> 0.10"])
53
+ s.add_dependency(%q<more_math>.freeze, [">= 0"])
51
54
  end
52
55
  end
data/lib/infobar.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  require 'tins/xt'
2
2
  require 'complex_config'
3
+ require 'more_math'
3
4
 
4
5
  class Infobar
5
6
  end
@@ -1,7 +1,7 @@
1
1
  require 'infobar/timer'
2
2
 
3
3
  class Infobar::Counter
4
- class <<
4
+ class << self
5
5
  prepend Tins::Delegate
6
6
  end
7
7
 
@@ -23,6 +23,8 @@ class Infobar::Counter
23
23
 
24
24
  delegate :rate, to: :@timer
25
25
 
26
+ delegate :fifo, to: :@timer, as: :fifo_rate
27
+
26
28
  delegate :average_time, to: :@timer
27
29
 
28
30
  def started?
@@ -0,0 +1,40 @@
1
+ class Infobar::FIFO
2
+ include Enumerable
3
+
4
+ def initialize(n)
5
+ @n = n
6
+ clear
7
+ end
8
+
9
+ def max_size
10
+ @n
11
+ end
12
+
13
+ def <<(value)
14
+ @i += 1
15
+ if @i > @n
16
+ @values.shift
17
+ @i -= 1
18
+ end
19
+ @values.push(value)
20
+ self
21
+ end
22
+
23
+ def each(&block)
24
+ @values.each(&block)
25
+ self
26
+ end
27
+
28
+ def empty?
29
+ @i.zero?
30
+ end
31
+
32
+ alias size count
33
+
34
+ def clear
35
+ @i = 0
36
+ @values = []
37
+ self
38
+ end
39
+ end
40
+
@@ -1,6 +1,7 @@
1
1
  require 'infobar/spinner'
2
2
  require 'infobar/duration'
3
3
  require 'infobar/number'
4
+ require 'infobar/rate'
4
5
 
5
6
  class Infobar::Message
6
7
  class << self
@@ -88,12 +89,8 @@ class Infobar::Message
88
89
  end
89
90
 
90
91
  # rate with or without units
91
- register('%r', unit: nil, prefix: 1000, format: '%f %U') do |directive, opts|
92
- if opts[:unit]
93
- Tins::Unit.format(Infobar.counter.rate, **opts)
94
- else
95
- Infobar.counter.rate
96
- end
92
+ register('%r', unit: nil, prefix: 1000, format: '%.3f%U%t') do |directive, opts|
93
+ Infobar::Rate.new(Infobar.counter.rate, Infobar.counter.fifo_rate, **opts)
97
94
  end
98
95
 
99
96
  # average time as a duration
@@ -0,0 +1,28 @@
1
+ require 'infobar/trend'
2
+
3
+ class Infobar::Rate
4
+ def initialize(value, fifo_values = [], **opts)
5
+ opts[:format] = add_trend(opts[:format], fifo_values)
6
+ @string =
7
+ if opts[:format].include?('%U')
8
+ Tins::Unit.format(value, **opts)
9
+ else
10
+ opts[:format] % value
11
+ end
12
+ end
13
+
14
+ def to_s
15
+ @string
16
+ end
17
+
18
+ private
19
+
20
+ def add_trend(format, fifo_values)
21
+ if fifo_values.empty?
22
+ format.gsub('%t', ?⤿)
23
+ else
24
+ trend = Infobar::Trend.new(fifo_values)
25
+ format.gsub('%t', trend.to_s)
26
+ end
27
+ end
28
+ end
data/lib/infobar/timer.rb CHANGED
@@ -1,13 +1,18 @@
1
+ require 'infobar/fifo'
2
+
1
3
  class Infobar::Timer
2
4
  def initialize
3
5
  @n = 0
4
6
  @x = 0.0
7
+ @fifo = Infobar::FIFO.new(30)
5
8
  end
6
9
 
7
10
  attr_reader :x
8
11
 
9
12
  attr_reader :n
10
13
 
14
+ attr_reader :fifo
15
+
11
16
  def add(time, count)
12
17
  case @n
13
18
  when 0
@@ -42,6 +47,7 @@ class Infobar::Timer
42
47
  def <<(x)
43
48
  @n +=1
44
49
  @x += (x - @x) / @n
50
+ @fifo << rate
45
51
  self
46
52
  end
47
53
  end
@@ -0,0 +1,25 @@
1
+ class Infobar::Trend
2
+ def initialize(values, symbols: %i[ ↘ → ↗ ])
3
+ @values = values
4
+ @symbols = symbols
5
+ @string = arrow
6
+ end
7
+
8
+ def to_s
9
+ @string
10
+ end
11
+
12
+ private
13
+
14
+ def arrow
15
+ lr = MoreMath::LinearRegression.new(@values)
16
+ case
17
+ when lr.slope_zero?
18
+ @symbols[1]
19
+ when lr.a > 0
20
+ @symbols[2]
21
+ else
22
+ @symbols[0]
23
+ end.to_s
24
+ end
25
+ end
@@ -1,6 +1,6 @@
1
1
  class Infobar
2
2
  # Infobar version
3
- VERSION = '0.0.1'
3
+ VERSION = '0.0.2'
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:
@@ -0,0 +1,42 @@
1
+ require 'spec_helper'
2
+
3
+ describe Infobar::FIFO do
4
+ let :fifo do
5
+ described_class.new(3)
6
+ end
7
+
8
+ it 'has max_size' do
9
+ expect(fifo.max_size).to eq 3
10
+ end
11
+
12
+ it 'has size' do
13
+ expect(fifo.size).to eq 0
14
+ fifo << 1
15
+ expect(fifo.size).to eq 1
16
+ end
17
+
18
+ it 'has size <= max_size' do
19
+ fifo << 1 << 2 << 3 << 4
20
+ expect(fifo.size).to eq 3
21
+ end
22
+
23
+ it 'can be added to' do
24
+ fifo << 1 << 2
25
+ expect(fifo.to_a).to eq [ 1, 2 ]
26
+ end
27
+
28
+ it 'can be empty' do
29
+ expect(fifo).to be_empty
30
+ end
31
+
32
+ it 'can be non-empty' do
33
+ fifo << 1
34
+ expect(fifo).not_to be_empty
35
+ end
36
+
37
+ it 'can be cleared' do
38
+ fifo << 1
39
+ expect(fifo).not_to be_empty
40
+ expect(fifo.clear).to be_empty
41
+ end
42
+ end
@@ -33,7 +33,7 @@ describe Infobar::Message do
33
33
  it 'can be interpolated' do
34
34
  Time.dummy(now) do
35
35
  expect(message.to_str).to eq(
36
- "23 42 19 Test 0.55 0.452 54.76 45.24 00:00:02 00:00:21 00:00:19 11:11:30 1.0 00:01.000000 – %"
36
+ "23 42 19 Test 0.55 0.452 54.76 45.24 00:00:02 00:00:21 00:00:19 11:11:30 1.000→ 00:01.000000 – %"
37
37
  )
38
38
  end
39
39
  end
@@ -57,6 +57,14 @@ describe Infobar::Message do
57
57
  end
58
58
  end
59
59
 
60
+ it 'can display eta in native format' do
61
+ Time.dummy(now) do
62
+ message =
63
+ described_class.new(format: 'test %E', '%E' => { format: nil }).to_str
64
+ expect(message).to eq "test #{now + 19}"
65
+ end
66
+ end
67
+
60
68
  it 'can be converted into a format string' do
61
69
  expect(message.to_s).to eq format
62
70
  end
@@ -0,0 +1,13 @@
1
+ require 'spec_helper'
2
+
3
+ describe Infobar::Rate do
4
+ context 'with trend' do
5
+ let :rate do
6
+ described_class.new(23.45, (1..10).to_a, format: '%.2f%t')
7
+ end
8
+
9
+ it 'can be displayed' do
10
+ expect(rate.to_s).to eq '23.45↗'
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,37 @@
1
+ require 'spec_helper'
2
+
3
+ describe Infobar::Trend do
4
+ let :trend do
5
+ described_class.new(values)
6
+ end
7
+
8
+ context 'downwards' do
9
+ let :values do
10
+ (1..10).to_a.reverse
11
+ end
12
+
13
+ it 'can be a string' do
14
+ expect(trend.to_s).to eq ?↘
15
+ end
16
+ end
17
+
18
+ context 'sideways' do
19
+ let :values do
20
+ [ Math::PI ] * 10
21
+ end
22
+
23
+ it 'can be a string' do
24
+ expect(trend.to_s).to eq ?→
25
+ end
26
+ end
27
+
28
+ context 'upwards' do
29
+ let :values do
30
+ (1..10).to_a
31
+ end
32
+
33
+ it 'can be a string' do
34
+ expect(trend.to_s).to eq ?↗
35
+ end
36
+ end
37
+ end
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.1
4
+ version: 0.0.2
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-02-08 00:00:00.000000000 Z
11
+ date: 2017-02-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gem_hadar
@@ -114,6 +114,20 @@ dependencies:
114
114
  - - "~>"
115
115
  - !ruby/object:Gem::Version
116
116
  version: '0.10'
117
+ - !ruby/object:Gem::Dependency
118
+ name: more_math
119
+ requirement: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - ">="
122
+ - !ruby/object:Gem::Version
123
+ version: '0'
124
+ type: :runtime
125
+ prerelease: false
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - ">="
129
+ - !ruby/object:Gem::Version
130
+ version: '0'
117
131
  description: This gem displays progress of computations and additional information
118
132
  to the terminal.
119
133
  email: flori@ping.de
@@ -126,12 +140,15 @@ extra_rdoc_files:
126
140
  - lib/infobar/display.rb
127
141
  - lib/infobar/duration.rb
128
142
  - lib/infobar/fancy_interface.rb
143
+ - lib/infobar/fifo.rb
129
144
  - lib/infobar/frequency.rb
130
145
  - lib/infobar/input_output.rb
131
146
  - lib/infobar/message.rb
132
147
  - lib/infobar/number.rb
148
+ - lib/infobar/rate.rb
133
149
  - lib/infobar/spinner.rb
134
150
  - lib/infobar/timer.rb
151
+ - lib/infobar/trend.rb
135
152
  - lib/infobar/version.rb
136
153
  files:
137
154
  - ".gitignore"
@@ -148,24 +165,30 @@ files:
148
165
  - lib/infobar/display.rb
149
166
  - lib/infobar/duration.rb
150
167
  - lib/infobar/fancy_interface.rb
168
+ - lib/infobar/fifo.rb
151
169
  - lib/infobar/frequency.rb
152
170
  - lib/infobar/input_output.rb
153
171
  - lib/infobar/message.rb
154
172
  - lib/infobar/number.rb
173
+ - lib/infobar/rate.rb
155
174
  - lib/infobar/spinner.rb
156
175
  - lib/infobar/timer.rb
176
+ - lib/infobar/trend.rb
157
177
  - lib/infobar/version.rb
158
178
  - spec/config/infobar.yml
159
179
  - spec/infobar/config_spec.rb
160
180
  - spec/infobar/counter_spec.rb
161
181
  - spec/infobar/display_spec.rb
162
182
  - spec/infobar/duration_spec.rb
183
+ - spec/infobar/fifo_spec.rb
163
184
  - spec/infobar/frequency_spec.rb
164
185
  - spec/infobar/input_output_spec.rb
165
186
  - spec/infobar/message_spec.rb
166
187
  - spec/infobar/number_spec.rb
188
+ - spec/infobar/rate_spec.rb
167
189
  - spec/infobar/spinner_spec.rb
168
190
  - spec/infobar/timer_spec.rb
191
+ - spec/infobar/trend_spec.rb
169
192
  - spec/infobar_spec.rb
170
193
  - spec/spec_helper.rb
171
194
  homepage: http://flori.github.com/infobar
@@ -200,11 +223,14 @@ test_files:
200
223
  - spec/infobar/counter_spec.rb
201
224
  - spec/infobar/display_spec.rb
202
225
  - spec/infobar/duration_spec.rb
226
+ - spec/infobar/fifo_spec.rb
203
227
  - spec/infobar/frequency_spec.rb
204
228
  - spec/infobar/input_output_spec.rb
205
229
  - spec/infobar/message_spec.rb
206
230
  - spec/infobar/number_spec.rb
231
+ - spec/infobar/rate_spec.rb
207
232
  - spec/infobar/spinner_spec.rb
208
233
  - spec/infobar/timer_spec.rb
234
+ - spec/infobar/trend_spec.rb
209
235
  - spec/infobar_spec.rb
210
236
  - spec/spec_helper.rb