progress_bar 1.0.5 → 1.3.3
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 +5 -5
- data/.github/FUNDING.yml +12 -0
- data/.github/workflows/pronto.yml +32 -0
- data/.github/workflows/rspec.yml +27 -0
- data/.gitignore +9 -0
- data/.reek.yml +51 -0
- data/.rubocop.yml +113 -0
- data/.travis.yml +4 -8
- data/Changelog.mkd +25 -0
- data/Gemfile +3 -1
- data/README.mkd +73 -9
- data/Rakefile +5 -3
- data/examples/enumerable.rb +5 -0
- data/examples/printing_messages.rb +22 -0
- data/examples/simple.rb +2 -1
- data/lib/progress_bar/core_ext/enumerable_with_progress.rb +9 -0
- data/lib/progress_bar/version.rb +3 -1
- data/lib/progress_bar/with_progress.rb +20 -0
- data/lib/progress_bar.rb +41 -35
- data/progress_bar.gemspec +12 -8
- data/spec/arguments_spec.rb +16 -19
- data/spec/bar_spec.rb +9 -9
- data/spec/counter_spec.rb +18 -23
- data/spec/elapsed_spec.rb +17 -15
- data/spec/eta_spec.rb +19 -18
- data/spec/percentage_spec.rb +17 -18
- data/spec/print_spec.rb +21 -0
- data/spec/progress_bar_spec.rb +16 -16
- data/spec/rate_spec.rb +24 -24
- data/spec/spec_helper.rb +4 -4
- data/spec/with_progress_spec.rb +42 -0
- metadata +75 -13
data/spec/rate_spec.rb
CHANGED
|
@@ -1,63 +1,63 @@
|
|
|
1
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require File.expand_path(File.join(File.dirname(__FILE__), "spec_helper"))
|
|
4
|
+
|
|
5
|
+
describe "ProgressBar rate output" do
|
|
6
|
+
let(:progress_bar) { ProgressBar.new(100, :rate) }
|
|
2
7
|
|
|
3
|
-
describe 'ProgressBar rate output' do
|
|
4
8
|
before do
|
|
5
9
|
Timecop.freeze Time.utc(2010, 3, 10, 0, 0, 0)
|
|
6
|
-
|
|
10
|
+
progress_bar
|
|
7
11
|
Timecop.freeze Time.utc(2010, 3, 10, 0, 0, 10) # 10 seconds later
|
|
8
12
|
end
|
|
9
13
|
|
|
10
|
-
subject {
|
|
14
|
+
subject { progress_bar.to_s }
|
|
11
15
|
|
|
12
|
-
describe
|
|
16
|
+
describe "at count=0" do
|
|
13
17
|
before do
|
|
14
|
-
|
|
18
|
+
progress_bar.count = 0
|
|
15
19
|
end
|
|
16
20
|
|
|
17
21
|
it { should == "[ 0.00/s]" }
|
|
18
22
|
end
|
|
19
23
|
|
|
20
|
-
describe
|
|
24
|
+
describe "at count=50" do
|
|
21
25
|
before do
|
|
22
|
-
|
|
26
|
+
progress_bar.count = 50
|
|
23
27
|
end
|
|
24
28
|
|
|
25
29
|
it { should == "[ 5.00/s]" }
|
|
26
30
|
end
|
|
27
31
|
|
|
28
|
-
describe
|
|
32
|
+
describe "at count=100" do
|
|
29
33
|
before do
|
|
30
|
-
|
|
34
|
+
progress_bar.count = 100
|
|
31
35
|
end
|
|
32
36
|
|
|
33
37
|
it { should == "[ 10.00/s]" }
|
|
34
38
|
end
|
|
35
39
|
|
|
36
|
-
describe
|
|
40
|
+
describe "with a shorter max" do
|
|
41
|
+
let(:progress_bar) { ProgressBar.new(42, :rate) }
|
|
42
|
+
|
|
37
43
|
before do
|
|
38
44
|
Timecop.freeze Time.utc(2010, 3, 10, 0, 0, 0)
|
|
39
|
-
|
|
40
|
-
@progress_bar.count = 21
|
|
45
|
+
progress_bar.count = 21
|
|
41
46
|
Timecop.freeze Time.utc(2010, 3, 10, 0, 0, 10) # 10 seconds later
|
|
42
47
|
end
|
|
43
48
|
|
|
44
|
-
it { should ==
|
|
49
|
+
it { should == "[ 2.10/s]" }
|
|
45
50
|
end
|
|
46
51
|
|
|
47
|
-
describe
|
|
52
|
+
describe "with a longer max" do
|
|
53
|
+
let(:progress_bar) { ProgressBar.new(4242, :rate) }
|
|
54
|
+
|
|
48
55
|
before do
|
|
49
56
|
Timecop.freeze Time.utc(2010, 3, 10, 0, 0, 0)
|
|
50
|
-
|
|
51
|
-
@progress_bar.count = 21
|
|
57
|
+
progress_bar.count = 21
|
|
52
58
|
Timecop.freeze Time.utc(2010, 3, 10, 0, 0, 10) # 10 seconds later
|
|
53
59
|
end
|
|
54
60
|
|
|
55
|
-
it { should ==
|
|
61
|
+
it { should == "[ 2.10/s]" }
|
|
56
62
|
end
|
|
57
|
-
|
|
58
63
|
end
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
data/spec/spec_helper.rb
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
|
|
2
|
-
require File.expand_path(File.join(File.dirname(__FILE__),
|
|
3
|
+
require File.expand_path(File.join(File.dirname(__FILE__), "..", "lib/progress_bar"))
|
|
3
4
|
|
|
4
|
-
require
|
|
5
|
-
require
|
|
5
|
+
require "rspec"
|
|
6
|
+
require "timecop"
|
|
6
7
|
|
|
7
8
|
RSpec.configure do |cfg|
|
|
8
9
|
cfg.after do
|
|
9
10
|
Timecop.return
|
|
10
11
|
end
|
|
11
12
|
end
|
|
12
|
-
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require File.expand_path(File.join(File.dirname(__FILE__), "spec_helper"))
|
|
4
|
+
|
|
5
|
+
describe ProgressBar::WithProgress do
|
|
6
|
+
context "with block" do
|
|
7
|
+
let!(:bar){ ProgressBar.new }
|
|
8
|
+
|
|
9
|
+
before{
|
|
10
|
+
Range.include ProgressBar::WithProgress
|
|
11
|
+
allow(ProgressBar).to receive(:new){ |max| bar.max = max; bar }
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
it "should set max and increment on each iteration" do
|
|
15
|
+
(1..20).each_with_progress do |i|
|
|
16
|
+
break if i > 10
|
|
17
|
+
end
|
|
18
|
+
expect(bar.max).to eq 20
|
|
19
|
+
expect(bar.count).to eq 10
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
context "without block" do
|
|
24
|
+
let!(:bar){ ProgressBar.new }
|
|
25
|
+
|
|
26
|
+
before{
|
|
27
|
+
Range.include ProgressBar::WithProgress
|
|
28
|
+
allow(ProgressBar).to receive(:new){ |max| bar.max = max; bar }
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
it "should give Enumerator" do
|
|
32
|
+
enum = (1..20).each_with_progress
|
|
33
|
+
expect(enum).to be_kind_of(Enumerator)
|
|
34
|
+
expect(bar.max).to eq 20
|
|
35
|
+
expect(bar.count).to eq 0
|
|
36
|
+
|
|
37
|
+
res = enum.map{ |i| i + 1 }
|
|
38
|
+
expect(res).to eq (2..21).to_a
|
|
39
|
+
expect(bar.count).to eq 20
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
metadata
CHANGED
|
@@ -1,15 +1,35 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: progress_bar
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.3.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Paul Sadauskas
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2020-11-17 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: highline
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - ">="
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: '1.6'
|
|
20
|
+
- - "<"
|
|
21
|
+
- !ruby/object:Gem::Version
|
|
22
|
+
version: '3'
|
|
23
|
+
type: :runtime
|
|
24
|
+
prerelease: false
|
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
26
|
+
requirements:
|
|
27
|
+
- - ">="
|
|
28
|
+
- !ruby/object:Gem::Version
|
|
29
|
+
version: '1.6'
|
|
30
|
+
- - "<"
|
|
31
|
+
- !ruby/object:Gem::Version
|
|
32
|
+
version: '3'
|
|
13
33
|
- !ruby/object:Gem::Dependency
|
|
14
34
|
name: options
|
|
15
35
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -25,21 +45,21 @@ dependencies:
|
|
|
25
45
|
- !ruby/object:Gem::Version
|
|
26
46
|
version: 2.3.0
|
|
27
47
|
- !ruby/object:Gem::Dependency
|
|
28
|
-
name:
|
|
48
|
+
name: rake
|
|
29
49
|
requirement: !ruby/object:Gem::Requirement
|
|
30
50
|
requirements:
|
|
31
|
-
- - "
|
|
51
|
+
- - ">="
|
|
32
52
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: '
|
|
34
|
-
type: :
|
|
53
|
+
version: '0'
|
|
54
|
+
type: :development
|
|
35
55
|
prerelease: false
|
|
36
56
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
57
|
requirements:
|
|
38
|
-
- - "
|
|
58
|
+
- - ">="
|
|
39
59
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: '
|
|
60
|
+
version: '0'
|
|
41
61
|
- !ruby/object:Gem::Dependency
|
|
42
|
-
name:
|
|
62
|
+
name: reek
|
|
43
63
|
requirement: !ruby/object:Gem::Requirement
|
|
44
64
|
requirements:
|
|
45
65
|
- - ">="
|
|
@@ -66,6 +86,34 @@ dependencies:
|
|
|
66
86
|
- - ">="
|
|
67
87
|
- !ruby/object:Gem::Version
|
|
68
88
|
version: '0'
|
|
89
|
+
- !ruby/object:Gem::Dependency
|
|
90
|
+
name: rubocop
|
|
91
|
+
requirement: !ruby/object:Gem::Requirement
|
|
92
|
+
requirements:
|
|
93
|
+
- - ">="
|
|
94
|
+
- !ruby/object:Gem::Version
|
|
95
|
+
version: '0'
|
|
96
|
+
type: :development
|
|
97
|
+
prerelease: false
|
|
98
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
99
|
+
requirements:
|
|
100
|
+
- - ">="
|
|
101
|
+
- !ruby/object:Gem::Version
|
|
102
|
+
version: '0'
|
|
103
|
+
- !ruby/object:Gem::Dependency
|
|
104
|
+
name: rubocop-rspec
|
|
105
|
+
requirement: !ruby/object:Gem::Requirement
|
|
106
|
+
requirements:
|
|
107
|
+
- - ">="
|
|
108
|
+
- !ruby/object:Gem::Version
|
|
109
|
+
version: '0'
|
|
110
|
+
type: :development
|
|
111
|
+
prerelease: false
|
|
112
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
113
|
+
requirements:
|
|
114
|
+
- - ">="
|
|
115
|
+
- !ruby/object:Gem::Version
|
|
116
|
+
version: '0'
|
|
69
117
|
- !ruby/object:Gem::Dependency
|
|
70
118
|
name: timecop
|
|
71
119
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -88,16 +136,26 @@ executables: []
|
|
|
88
136
|
extensions: []
|
|
89
137
|
extra_rdoc_files: []
|
|
90
138
|
files:
|
|
139
|
+
- ".github/FUNDING.yml"
|
|
140
|
+
- ".github/workflows/pronto.yml"
|
|
141
|
+
- ".github/workflows/rspec.yml"
|
|
91
142
|
- ".gitignore"
|
|
143
|
+
- ".reek.yml"
|
|
92
144
|
- ".rspec"
|
|
145
|
+
- ".rubocop.yml"
|
|
93
146
|
- ".travis.yml"
|
|
147
|
+
- Changelog.mkd
|
|
94
148
|
- Gemfile
|
|
95
149
|
- LICENSE
|
|
96
150
|
- README.mkd
|
|
97
151
|
- Rakefile
|
|
152
|
+
- examples/enumerable.rb
|
|
153
|
+
- examples/printing_messages.rb
|
|
98
154
|
- examples/simple.rb
|
|
99
155
|
- lib/progress_bar.rb
|
|
156
|
+
- lib/progress_bar/core_ext/enumerable_with_progress.rb
|
|
100
157
|
- lib/progress_bar/version.rb
|
|
158
|
+
- lib/progress_bar/with_progress.rb
|
|
101
159
|
- profile/shell_every_update
|
|
102
160
|
- profile/shell_every_update.gif
|
|
103
161
|
- profile/shell_once
|
|
@@ -109,11 +167,14 @@ files:
|
|
|
109
167
|
- spec/elapsed_spec.rb
|
|
110
168
|
- spec/eta_spec.rb
|
|
111
169
|
- spec/percentage_spec.rb
|
|
170
|
+
- spec/print_spec.rb
|
|
112
171
|
- spec/progress_bar_spec.rb
|
|
113
172
|
- spec/rate_spec.rb
|
|
114
173
|
- spec/spec_helper.rb
|
|
174
|
+
- spec/with_progress_spec.rb
|
|
115
175
|
homepage: http://github.com/paul/progress_bar
|
|
116
|
-
licenses:
|
|
176
|
+
licenses:
|
|
177
|
+
- WTFPL
|
|
117
178
|
metadata: {}
|
|
118
179
|
post_install_message:
|
|
119
180
|
rdoc_options: []
|
|
@@ -123,15 +184,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
123
184
|
requirements:
|
|
124
185
|
- - ">="
|
|
125
186
|
- !ruby/object:Gem::Version
|
|
126
|
-
version:
|
|
187
|
+
version: 2.4.0
|
|
127
188
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
128
189
|
requirements:
|
|
129
190
|
- - ">="
|
|
130
191
|
- !ruby/object:Gem::Version
|
|
131
192
|
version: '0'
|
|
132
193
|
requirements: []
|
|
133
|
-
|
|
134
|
-
rubygems_version: 2.4.5.1
|
|
194
|
+
rubygems_version: 3.1.2
|
|
135
195
|
signing_key:
|
|
136
196
|
specification_version: 4
|
|
137
197
|
summary: Simple Progress Bar for output to a terminal
|
|
@@ -142,6 +202,8 @@ test_files:
|
|
|
142
202
|
- spec/elapsed_spec.rb
|
|
143
203
|
- spec/eta_spec.rb
|
|
144
204
|
- spec/percentage_spec.rb
|
|
205
|
+
- spec/print_spec.rb
|
|
145
206
|
- spec/progress_bar_spec.rb
|
|
146
207
|
- spec/rate_spec.rb
|
|
147
208
|
- spec/spec_helper.rb
|
|
209
|
+
- spec/with_progress_spec.rb
|