console_progress 0.1.8 → 0.1.9

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: 444f3d7a708d7f628de25eebfd93470d482857cf
4
- data.tar.gz: ebbfadbb55c743d2c5fe21463e5ce217781c8ab3
3
+ metadata.gz: 184046f6cb7484cffb2f5aa2e6f223fbc2531d38
4
+ data.tar.gz: e22d6c9f6e9d25b95eb3b5500abafc7d87e1b535
5
5
  SHA512:
6
- metadata.gz: 019585c314527935fc18134daa1b3d8dc6a74a5744e3fad8b10aa060d0f4d9df7a20d775371dd85dd9a752782ac9257c5701d2e4428f01a605e1aa2bbfb0a461
7
- data.tar.gz: 95c77b69f1b172453f33bbb142c8dd13fc7944a67cc2373f757c4925c42f652d29a4c6ea07b28b35b124417e82e024b6af3afda9508a452679e009c40e55a7b8
6
+ metadata.gz: cda6dc66c82f2f5ca6bf17a3ed3d7c03c4bbd3ca61ba6fabc9dd08ee54fe97ad7da19645496e8ba39bb04ca7897ca19ae2140e296ee8d38e076cc9a90a39fa1e
7
+ data.tar.gz: 2ff6a2c6fe90c613149aac7850c0056a2ca266cfa45a0d01aeb3172e585ad74b71538263e03ba4eefa223d28ce9368e9ae82fd23bd90079d45745971c3711da6
@@ -9,7 +9,7 @@ module ConsoleProgress
9
9
 
10
10
  attr_accessor *ATTR
11
11
 
12
- def initialize(steps, format: nil)
12
+ def initialize(steps, format: nil, current_step: 0)
13
13
  @steps = steps
14
14
  @format = format
15
15
  @message_prefix = 'ETA'
@@ -17,7 +17,7 @@ module ConsoleProgress
17
17
  "Remaining: {{time_left}} "\
18
18
  "Took: {{step_time}}s Avg: {{avg_time}}s "\
19
19
  "Elapsed: {{elapsed_time}}"
20
- @step = 0
20
+ @step = current_step
21
21
  @times = []
22
22
  start
23
23
  end
@@ -35,7 +35,8 @@ module ConsoleProgress
35
35
  @elapsed_time = seconds_to_time(t - @start_time)
36
36
 
37
37
  @times << @step_time
38
- @avg_time = @times.reduce(0, :+) / @times.size
38
+ # @avg_time = @times.reduce(0, :+) / @times.size
39
+ @avg_time = median(@times)
39
40
 
40
41
  steps_left = @steps - @step
41
42
  @step = current_step + 1
@@ -71,6 +72,13 @@ module ConsoleProgress
71
72
  .join(':')
72
73
  end
73
74
 
75
+ # from https://stackoverflow.com/posts/14859546/revisions
76
+ def median(array)
77
+ sorted = array.sort
78
+ len = sorted.length
79
+ (sorted[(len - 1) / 2] + sorted[len / 2]) / 2.0
80
+ end
81
+
74
82
  def self.example
75
83
  eta = ConsoleProgress::ETA.new(100)
76
84
  eta.start
@@ -1,3 +1,3 @@
1
1
  module ConsoleProgress
2
- VERSION = "0.1.8"
2
+ VERSION = "0.1.9"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: console_progress
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.1.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Wiseley
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-11-21 00:00:00.000000000 Z
11
+ date: 2017-12-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler