ruby-progressbar 1.6.0 → 1.6.1

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: 83f5b88d860cde93acea2fb44eaa5586d877e76d
4
- data.tar.gz: 8c9611657c7def30f8188d4aaaca150dd30e34b5
3
+ metadata.gz: 8ab0a31d7bb98cd80041a9c7a30d02d06f5ff2c0
4
+ data.tar.gz: cc94aa0ec99f5638339360ac366cf11e9bbc6b77
5
5
  SHA512:
6
- metadata.gz: d6b0ae26cfb96b3e9a2f5d3f691137a115ad44c1c88b30e578e1aecce96c7b2b268ddf957b16292aba43ae77d5b07ffb28df613e52a327e28d2388ed7e6b836d
7
- data.tar.gz: 5e65be1a60e11c1e23b39f44532cbe39df09364316fd73122e15458949e3a6643732e2c9c3ed9976e1de4f7bbcf71268fe27b821bca34cb40e18d0e0866bdad8
6
+ metadata.gz: 4e2e0bbc3a033fcab712a3dc2b636018c3206e6bbd0ac5998d53a1719e195c3d8ee895dfb98c075b4f5fdd939cd862a26269cb0f01b3aa6b8f59cd1825a8eebc
7
+ data.tar.gz: cffef174c3686916351cf8482f61602574a0eaf566fcf5f8d4045ba1fad127181766006bd9c8fdf884a83a832f835257ba462e57670f2ecb3595e707801546f9
data/README.md CHANGED
@@ -105,7 +105,7 @@ The following are the list of options you can use:
105
105
  * `:remainder_mark` - _(Defaults to ` `)_ The mark which indicates the remaining amount of progress to be made.
106
106
  * `:format` - _(Defaults to `%t: |%B|`)_ The format string which determines how the bar is displayed. See [**Formatting**](#formatting) below.
107
107
  * `:length` - _(Defaults to full width if possible, otherwise `80`)_ The preferred width of the entire progress bar including any format options.
108
- * `:output` - _(Defaults to `STDOUT`)_ All output will be sent to this object. Can be any object which responds to `.print`.
108
+ * `:output` - _(Defaults to `STDOUT`)_ All output will be sent to this object. Can be any object which responds to `.print` `.flush` `.tty?` `.puts`.
109
109
  * `:smoothing` - _(Defaults to `0.1`)_ See [**Smoothing Out Estimated Time Jitters**](#smoothing-out-estimated-time-jitters) below.
110
110
  * `:throttle_rate` - _(Defaults to `0.01`)_ See [**Throttling**](#throttling) below.
111
111
  * `:unknown_progress_animation_steps` - _(Defaults to `['=---', '-=--', '--=-', '---=']`)_ See [**Unknown Progress**](#unknown-progress) The graphical elements used to cycle when progress is changed but the total amount of items being processed is unknown.
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env rake
2
+ require "bundler/gem_tasks"
@@ -7,6 +7,6 @@ require 'ruby-progressbar/base'
7
7
 
8
8
  class ProgressBar
9
9
  def self.create(*args)
10
- ProgressBar::Base.new *args
10
+ ProgressBar::Base.new(*args)
11
11
  end
12
12
  end
@@ -143,9 +143,12 @@ class ProgressBar
143
143
  "#<ProgressBar:#{progress}/#{total || 'unknown'}>"
144
144
  end
145
145
 
146
+ protected
147
+
148
+ attr_accessor :output,
149
+ :last_update_length
150
+
146
151
  private
147
- attr_accessor :output,
148
- :last_update_length
149
152
 
150
153
  def clear_string
151
154
  "#{" " * length}"
@@ -3,6 +3,11 @@ class ProgressBar
3
3
  class ElapsedTimer
4
4
  include Timer
5
5
 
6
+ def initialize
7
+ @started_at = nil
8
+ @stopped_at = nil
9
+ end
10
+
6
11
  def to_s
7
12
  "Time: #{elapsed_time}"
8
13
  end
@@ -7,6 +7,10 @@ class ProgressBar
7
7
  VALID_OOB_TIME_FORMATS = [:unknown, :friendly, nil]
8
8
 
9
9
  def initialize(options = {})
10
+ @out_of_bounds_time_format = nil
11
+ @starting_at = nil
12
+ @stopped_at = nil
13
+
10
14
  super
11
15
  end
12
16
 
@@ -66,7 +70,7 @@ class ProgressBar
66
70
  end
67
71
 
68
72
  class As
69
- private *instance_methods.select { |m| m !~ /(^__|^\W|^binding$)/ }
73
+ private(*instance_methods.select { |m| m !~ /(^__|^\W|^binding$)/ })
70
74
 
71
75
  def initialize(subject, ancestor)
72
76
  @subject = subject
@@ -8,6 +8,8 @@ class ProgressBar
8
8
 
9
9
  def initialize(options = {})
10
10
  self.rate_scale = options[:rate_scale]
11
+ @started_at = nil
12
+ @stopped_at = nil
11
13
 
12
14
  super
13
15
  end
@@ -49,7 +51,7 @@ class ProgressBar
49
51
  end
50
52
 
51
53
  class As
52
- private *instance_methods.select { |m| m !~ /(^__|^\W|^binding$)/ }
54
+ private(*instance_methods.select { |m| m !~ /(^__|^\W|^binding$)/ })
53
55
 
54
56
  def initialize(subject, ancestor)
55
57
  @subject = subject
@@ -4,7 +4,9 @@ class ProgressBar
4
4
  include Timer
5
5
 
6
6
  def initialize(options = {})
7
- @period = options.delete(:throttle_rate) { 0.01 } || 0.01
7
+ @period = options.delete(:throttle_rate) { 0.01 } || 0.01
8
+ @started_at = nil
9
+ @stopped_at = nil
8
10
  end
9
11
 
10
12
  def choke(force = false, &block)
@@ -5,6 +5,7 @@ class ProgressBar
5
5
  DEFAULT_TITLE = 'Progress'
6
6
 
7
7
  def initialize(options)
8
+ @format_string = nil
8
9
  self.format_string = options[:format] || DEFAULT_FORMAT_STRING
9
10
  @title = options[:title] || DEFAULT_TITLE
10
11
 
@@ -3,6 +3,7 @@ class ProgressBar
3
3
  def initialize(options)
4
4
  @length_override = ENV['RUBY_PROGRESS_BAR_LENGTH'] || options[:length]
5
5
  @length_override = @length_override.to_i if @length_override
6
+ @current_length = nil
6
7
 
7
8
  super()
8
9
  end
@@ -39,7 +40,7 @@ class ProgressBar
39
40
  require 'io/console'
40
41
 
41
42
  def dynamic_width
42
- rows, columns = IO.console.winsize
43
+ _rows, columns = IO.console.winsize
43
44
  columns
44
45
  end
45
46
  rescue LoadError
@@ -1,3 +1,3 @@
1
1
  class ProgressBar
2
- VERSION = '1.6.0'
2
+ VERSION = '1.6.1'
3
3
  end
@@ -1,4 +1,4 @@
1
- require 'rspectacular'
1
+ require 'spec_helper'
2
2
  require 'support/time'
3
3
  require 'stringio'
4
4
 
@@ -32,7 +32,7 @@ describe ProgressBar::Base do
32
32
  progressbar.increment
33
33
 
34
34
  output.rewind
35
- expect(output.read).to match /\raaaaaaaaaaaaaaaaaaaaaaaaa \r\s+\raaaaaaaaaaaaaaaaaaaaaaaaa\r\z/
35
+ expect(output.read).to match(/\raaaaaaaaaaaaaaaaaaaaaaaaa \r\s+\raaaaaaaaaaaaaaaaaaaaaaaaa\r\z/)
36
36
  end
37
37
 
38
38
  context 'and the bar length is calculated' do
@@ -186,7 +186,7 @@ describe ProgressBar::Base do
186
186
 
187
187
  it 'completes the bar' do
188
188
  output.rewind
189
- expect(output.read).to match /Progress: \|#{'=' * 68}\|\n/
189
+ expect(output.read).to match(/Progress: \|#{'=' * 68}\|\n/)
190
190
  end
191
191
 
192
192
  it 'shows the elapsed time instead of the estimated time since the bar is completed' do
@@ -427,7 +427,7 @@ describe ProgressBar::Base do
427
427
  progressbar.progress_mark = 'x'
428
428
 
429
429
  output.rewind
430
- expect(output.read).to match /\rProgress: \|xxxxxx#{' ' * 62}\|\r\z/
430
+ expect(output.read).to match(/\rProgress: \|xxxxxx#{' ' * 62}\|\r\z/)
431
431
  end
432
432
  end
433
433
 
@@ -436,7 +436,7 @@ describe ProgressBar::Base do
436
436
  progressbar.remainder_mark = 'x'
437
437
 
438
438
  output.rewind
439
- expect(output.read).to match /\rProgress: \|======#{'x' * 62}\|\r\z/
439
+ expect(output.read).to match(/\rProgress: \|======#{'x' * 62}\|\r\z/)
440
440
  end
441
441
  end
442
442
 
@@ -445,7 +445,7 @@ describe ProgressBar::Base do
445
445
  progressbar.title = 'Items'
446
446
 
447
447
  output.rewind
448
- expect(output.read).to match /\rItems: \|=======#{' ' * 64}\|\r\z/
448
+ expect(output.read).to match(/\rItems: \|=======#{' ' * 64}\|\r\z/)
449
449
  end
450
450
  end
451
451
 
@@ -454,7 +454,7 @@ describe ProgressBar::Base do
454
454
 
455
455
  it 'resets the bar back to the starting value' do
456
456
  output.rewind
457
- expect(output.read).to match /\rProgress: \|#{' ' * 68}\|\r\z/
457
+ expect(output.read).to match(/\rProgress: \|#{' ' * 68}\|\r\z/)
458
458
  end
459
459
  end
460
460
 
@@ -463,7 +463,7 @@ describe ProgressBar::Base do
463
463
 
464
464
  it 'forcibly halts the bar wherever it is and cancels it' do
465
465
  output.rewind
466
- expect(output.read).to match /\rProgress: \|======#{' ' * 62}\|\n\z/
466
+ expect(output.read).to match(/\rProgress: \|======#{' ' * 62}\|\n\z/)
467
467
  end
468
468
 
469
469
  it 'does not output the bar multiple times if the bar is already stopped' do
@@ -498,7 +498,7 @@ describe ProgressBar::Base do
498
498
 
499
499
  it 'resets the bar back to the starting value' do
500
500
  output.rewind
501
- expect(output.read).to match /\rProgress: \|==========#{' ' * 90}\|\r\z/
501
+ expect(output.read).to match(/\rProgress: \|==========#{' ' * 90}\|\r\z/)
502
502
  end
503
503
  end
504
504
  end
@@ -509,7 +509,7 @@ describe ProgressBar::Base do
509
509
  progressbar.clear
510
510
 
511
511
  output.rewind
512
- expect(output.read).to match /^#{progressbar.send(:clear_string)}/
512
+ expect(output.read).to match(/^#{progressbar.send(:clear_string)}/)
513
513
  end
514
514
  end
515
515
 
@@ -518,21 +518,21 @@ describe ProgressBar::Base do
518
518
  progressbar.start
519
519
 
520
520
  output.rewind
521
- expect(output.read).to match /^#{progressbar.send(:clear_string)}/
521
+ expect(output.read).to match(/^#{progressbar.send(:clear_string)}/)
522
522
  end
523
523
 
524
524
  it 'prints the bar for the first time' do
525
525
  progressbar.start
526
526
 
527
527
  output.rewind
528
- expect(output.read).to match /Progress: \| \|\r\z/
528
+ expect(output.read).to match(/Progress: \| \|\r\z/)
529
529
  end
530
530
 
531
531
  it 'prints correctly if passed a position to start at' do
532
532
  progressbar.start(:at => 20)
533
533
 
534
534
  output.rewind
535
- expect(output.read).to match /Progress: \|============= \|\r\z/
535
+ expect(output.read).to match(/Progress: \|============= \|\r\z/)
536
536
  end
537
537
  end
538
538
 
@@ -544,7 +544,7 @@ describe ProgressBar::Base do
544
544
 
545
545
  it 'displays the bar with the correct formatting' do
546
546
  output.rewind
547
- expect(output.read).to match /Progress: \|== \|\r\z/
547
+ expect(output.read).to match(/Progress: \|== \|\r\z/)
548
548
  end
549
549
  end
550
550
  end
@@ -557,7 +557,7 @@ describe ProgressBar::Base do
557
557
  before { progressbar.format }
558
558
 
559
559
  it 'resets the format back to the default' do
560
- expect(progressbar.to_s).to match /^Progress: \|\s+\|\z/
560
+ expect(progressbar.to_s).to match(/^Progress: \|\s+\|\z/)
561
561
  end
562
562
  end
563
563
 
@@ -565,7 +565,7 @@ describe ProgressBar::Base do
565
565
  before { progressbar.format '%t' }
566
566
 
567
567
  it 'sets it as the new format for the bar' do
568
- expect(progressbar.to_s).to match /^Progress\z/
568
+ expect(progressbar.to_s).to match(/^Progress\z/)
569
569
  end
570
570
  end
571
571
  end
@@ -576,7 +576,7 @@ describe ProgressBar::Base do
576
576
  Timecop.freeze do
577
577
  progressbar = ProgressBar::Base.new(:length => 100, :starting_at => 0)
578
578
 
579
- expect(progressbar.to_s('%r')).to match /^0\z/
579
+ expect(progressbar.to_s('%r')).to match(/^0\z/)
580
580
  end
581
581
  end
582
582
  end
@@ -587,7 +587,7 @@ describe ProgressBar::Base do
587
587
  progressbar = ProgressBar::Base.new(:length => 100, :starting_at => 20)
588
588
 
589
589
  Timecop.travel(2) do
590
- expect(progressbar.to_s('%r')).to match /^0\z/
590
+ expect(progressbar.to_s('%r')).to match(/^0\z/)
591
591
  end
592
592
  end
593
593
 
@@ -595,7 +595,7 @@ describe ProgressBar::Base do
595
595
  progressbar = ProgressBar::Base.new(:length => 100, :starting_at => 20)
596
596
 
597
597
  Timecop.travel(2) do
598
- expect(progressbar.to_s('%R')).to match /^0.00\z/
598
+ expect(progressbar.to_s('%R')).to match(/^0.00\z/)
599
599
  end
600
600
  end
601
601
 
@@ -606,7 +606,7 @@ describe ProgressBar::Base do
606
606
  progressbar.progress += 20
607
607
 
608
608
  Timecop.travel(2) do
609
- expect(progressbar.to_s('%r')).to match /^10\z/
609
+ expect(progressbar.to_s('%r')).to match(/^10\z/)
610
610
  end
611
611
  end
612
612
  end
@@ -618,7 +618,7 @@ describe ProgressBar::Base do
618
618
  progressbar.progress += 13
619
619
 
620
620
  Timecop.travel(2) do
621
- expect(progressbar.to_s('%R')).to match /^6.50\z/
621
+ expect(progressbar.to_s('%R')).to match(/^6.50\z/)
622
622
  end
623
623
  end
624
624
  end
@@ -630,7 +630,7 @@ describe ProgressBar::Base do
630
630
  progressbar.progress += 20
631
631
 
632
632
  Timecop.travel(2) do
633
- expect(progressbar.to_s('%r')).to match /^10\z/
633
+ expect(progressbar.to_s('%r')).to match(/^10\z/)
634
634
  end
635
635
  end
636
636
  end
@@ -642,7 +642,7 @@ describe ProgressBar::Base do
642
642
  progressbar.progress += 10
643
643
 
644
644
  Timecop.travel(6) do
645
- expect(progressbar.to_s('%R')).to match /^1.67\z/
645
+ expect(progressbar.to_s('%R')).to match(/^1.67\z/)
646
646
  end
647
647
  end
648
648
  end
@@ -653,7 +653,7 @@ describe ProgressBar::Base do
653
653
  progressbar = ProgressBar::Base.new(:length => 100, :starting_at => 20, :rate_scale => lambda { |rate| rate / 2 })
654
654
 
655
655
  Timecop.travel(2) do
656
- expect(progressbar.to_s('%r')).to match /^0\z/
656
+ expect(progressbar.to_s('%r')).to match(/^0\z/)
657
657
  end
658
658
  end
659
659
 
@@ -661,7 +661,7 @@ describe ProgressBar::Base do
661
661
  progressbar = ProgressBar::Base.new(:length => 100, :starting_at => 20, :rate_scale => lambda { |rate| rate / 2 })
662
662
 
663
663
  Timecop.travel(2) do
664
- expect(progressbar.to_s('%R')).to match /^0.00\z/
664
+ expect(progressbar.to_s('%R')).to match(/^0.00\z/)
665
665
  end
666
666
  end
667
667
 
@@ -672,7 +672,7 @@ describe ProgressBar::Base do
672
672
  progressbar.progress += 20
673
673
 
674
674
  Timecop.travel(2) do
675
- expect(progressbar.to_s('%r')).to match /^5\z/
675
+ expect(progressbar.to_s('%r')).to match(/^5\z/)
676
676
  end
677
677
  end
678
678
  end
@@ -684,7 +684,7 @@ describe ProgressBar::Base do
684
684
  progressbar.progress += 13
685
685
 
686
686
  Timecop.travel(2) do
687
- expect(progressbar.to_s('%R')).to match /^3.25\z/
687
+ expect(progressbar.to_s('%R')).to match(/^3.25\z/)
688
688
  end
689
689
  end
690
690
  end
@@ -696,7 +696,7 @@ describe ProgressBar::Base do
696
696
  progressbar.progress += 20
697
697
 
698
698
  Timecop.travel(2) do
699
- expect(progressbar.to_s('%r')).to match /^5\z/
699
+ expect(progressbar.to_s('%r')).to match(/^5\z/)
700
700
  end
701
701
  end
702
702
  end
@@ -708,7 +708,7 @@ describe ProgressBar::Base do
708
708
  progressbar.progress += 10
709
709
 
710
710
  Timecop.travel(6) do
711
- expect(progressbar.to_s('%R')).to match /^0.83\z/
711
+ expect(progressbar.to_s('%R')).to match(/^0.83\z/)
712
712
  end
713
713
  end
714
714
  end
@@ -716,135 +716,135 @@ describe ProgressBar::Base do
716
716
  end
717
717
 
718
718
  it 'displays the title when passed the "%t" format flag' do
719
- expect(progressbar.to_s('%t')).to match /^Progress\z/
719
+ expect(progressbar.to_s('%t')).to match(/^Progress\z/)
720
720
  end
721
721
 
722
722
  it 'displays the title when passed the "%T" format flag' do
723
- expect(progressbar.to_s('%T')).to match /^Progress\z/
723
+ expect(progressbar.to_s('%T')).to match(/^Progress\z/)
724
724
  end
725
725
 
726
726
  it 'displays the bar when passed the "%B" format flag (including empty space)' do
727
727
  progressbar = ProgressBar::Base.new(:length => 100, :starting_at => 20)
728
- expect(progressbar.to_s('%B')).to match /^#{'=' * 20}#{' ' * 80}\z/
728
+ expect(progressbar.to_s('%B')).to match(/^#{'=' * 20}#{' ' * 80}\z/)
729
729
  end
730
730
 
731
731
  it 'displays the bar when passed the combined "%b%i" format flags' do
732
732
  progressbar = ProgressBar::Base.new(:length => 100, :starting_at => 20)
733
- expect(progressbar.to_s('%b%i')).to match /^#{'=' * 20}#{' ' * 80}\z/
733
+ expect(progressbar.to_s('%b%i')).to match(/^#{'=' * 20}#{' ' * 80}\z/)
734
734
  end
735
735
 
736
736
  it 'displays the bar when passed the "%b" format flag (excluding empty space)' do
737
737
  progressbar = ProgressBar::Base.new(:length => 100, :starting_at => 20)
738
- expect(progressbar.to_s('%b')).to match /^#{'=' * 20}\z/
738
+ expect(progressbar.to_s('%b')).to match(/^#{'=' * 20}\z/)
739
739
  end
740
740
 
741
741
  it 'displays the incomplete space when passed the "%i" format flag' do
742
742
  progressbar = ProgressBar::Base.new(:length => 100, :starting_at => 20)
743
- expect(progressbar.to_s('%i')).to match /^#{' ' * 80}\z/
743
+ expect(progressbar.to_s('%i')).to match(/^#{' ' * 80}\z/)
744
744
  end
745
745
 
746
746
  it 'displays the bar when passed the "%w" format flag' do
747
747
  progressbar = ProgressBar::Base.new(:output => output, :length => 100, :starting_at => 0)
748
748
 
749
- expect(progressbar.to_s('%w')).to match /^\z/
749
+ expect(progressbar.to_s('%w')).to match(/^\z/)
750
750
  4.times { progressbar.increment }
751
- expect(progressbar.to_s('%w')).to match /^====\z/
751
+ expect(progressbar.to_s('%w')).to match(/^====\z/)
752
752
  progressbar.increment
753
- expect(progressbar.to_s('%w')).to match /^= 5 =\z/
753
+ expect(progressbar.to_s('%w')).to match(/^= 5 =\z/)
754
754
  5.times { progressbar.increment }
755
- expect(progressbar.to_s('%w')).to match /^=== 10 ===\z/
755
+ expect(progressbar.to_s('%w')).to match(/^=== 10 ===\z/)
756
756
  progressbar.decrement
757
- expect(progressbar.to_s('%w')).to match /^=== 9 ===\z/
757
+ expect(progressbar.to_s('%w')).to match(/^=== 9 ===\z/)
758
758
  91.times { progressbar.increment }
759
- expect(progressbar.to_s('%w')).to match /^#{'=' * 47} 100 #{'=' * 48}\z/
759
+ expect(progressbar.to_s('%w')).to match(/^#{'=' * 47} 100 #{'=' * 48}\z/)
760
760
  end
761
761
 
762
762
  it 'calculates the remaining negative space properly with an integrated percentage bar of 0 percent' do
763
763
  progressbar = ProgressBar::Base.new(:output => output, :length => 100, :total => 200, :starting_at => 0)
764
764
 
765
- expect(progressbar.to_s('%w%i')).to match /^\s{100}\z/
765
+ expect(progressbar.to_s('%w%i')).to match(/^\s{100}\z/)
766
766
  9.times { progressbar.increment }
767
- expect(progressbar.to_s('%w%i')).to match /^====\s{96}\z/
767
+ expect(progressbar.to_s('%w%i')).to match(/^====\s{96}\z/)
768
768
  progressbar.increment
769
- expect(progressbar.to_s('%w%i')).to match /^= 5 =\s{95}\z/
769
+ expect(progressbar.to_s('%w%i')).to match(/^= 5 =\s{95}\z/)
770
770
  end
771
771
 
772
772
  it 'can display a percentage, even if the total is unknown' do
773
773
  progressbar = ProgressBar::Base.new(:output => output, :length => 100, :total => nil, :starting_at => 0)
774
774
 
775
- expect(progressbar.to_s('%p')).to match /\A0\z/
776
- expect(progressbar.to_s('%P')).to match /\A0\.0\z/
775
+ expect(progressbar.to_s('%p')).to match(/\A0\z/)
776
+ expect(progressbar.to_s('%P')).to match(/\A0\.0\z/)
777
777
  end
778
778
 
779
779
  it 'can display a percentage, even if the total is zero' do
780
780
  progressbar = ProgressBar::Base.new(:output => output, :length => 100, :total => 0, :starting_at => 0)
781
781
 
782
- expect(progressbar.to_s('%p')).to match /\A100\z/
783
- expect(progressbar.to_s('%P')).to match /\A100\.0\z/
782
+ expect(progressbar.to_s('%p')).to match(/\A100\z/)
783
+ expect(progressbar.to_s('%P')).to match(/\A100\.0\z/)
784
784
  end
785
785
 
786
786
  it 'displays the current capacity when passed the "%c" format flag' do
787
787
  progressbar = ProgressBar::Base.new(:output => output, :starting_at => 0)
788
788
 
789
- expect(progressbar.to_s('%c')).to match /^0\z/
789
+ expect(progressbar.to_s('%c')).to match(/^0\z/)
790
790
  progressbar.increment
791
- expect(progressbar.to_s('%c')).to match /^1\z/
791
+ expect(progressbar.to_s('%c')).to match(/^1\z/)
792
792
  progressbar.decrement
793
- expect(progressbar.to_s('%c')).to match /^0\z/
793
+ expect(progressbar.to_s('%c')).to match(/^0\z/)
794
794
  end
795
795
 
796
796
  it 'displays the total capacity when passed the "%C" format flag' do
797
797
  progressbar = ProgressBar::Base.new(:total => 100)
798
798
 
799
- expect(progressbar.to_s('%C')).to match /^100\z/
799
+ expect(progressbar.to_s('%C')).to match(/^100\z/)
800
800
  end
801
801
 
802
802
  it 'displays the percentage complete when passed the "%p" format flag' do
803
803
  progressbar = ProgressBar::Base.new(:starting_at => 33, :total => 200)
804
804
 
805
- expect(progressbar.to_s('%p')).to match /^16\z/
805
+ expect(progressbar.to_s('%p')).to match(/^16\z/)
806
806
  end
807
807
 
808
808
  it 'displays the justified percentage complete when passed the "%j" format flag' do
809
809
  progressbar = ProgressBar::Base.new(:starting_at => 33, :total => 200)
810
810
 
811
- expect(progressbar.to_s('%j')).to match /^ 16\z/
811
+ expect(progressbar.to_s('%j')).to match(/^ 16\z/)
812
812
  end
813
813
 
814
814
  it 'displays the percentage complete when passed the "%P" format flag' do
815
815
  progressbar = ProgressBar::Base.new(:starting_at => 33, :total => 200)
816
816
 
817
- expect(progressbar.to_s('%P')).to match /^16.50\z/
817
+ expect(progressbar.to_s('%P')).to match(/^16.50\z/)
818
818
  end
819
819
 
820
820
  it 'displays the justified percentage complete when passed the "%J" format flag' do
821
821
  progressbar = ProgressBar::Base.new(:starting_at => 33, :total => 200)
822
822
 
823
- expect(progressbar.to_s('%J')).to match /^ 16.50\z/
823
+ expect(progressbar.to_s('%J')).to match(/^ 16.50\z/)
824
824
  end
825
825
 
826
826
  it 'displays only up to 2 decimal places when using the "%P" flag' do
827
827
  progressbar = ProgressBar::Base.new(:starting_at => 66, :total => 99)
828
828
 
829
- expect(progressbar.to_s('%P')).to match /^66.66\z/
829
+ expect(progressbar.to_s('%P')).to match(/^66.66\z/)
830
830
  end
831
831
 
832
832
  it 'displays a literal percent sign when using the "%%" flag' do
833
833
  progressbar = ProgressBar::Base.new(:starting_at => 66, :total => 99)
834
834
 
835
- expect(progressbar.to_s('%%')).to match /^%\z/
835
+ expect(progressbar.to_s('%%')).to match(/^%\z/)
836
836
  end
837
837
 
838
838
  it 'displays a literal percent sign when using the "%%" flag' do
839
839
  progressbar = ProgressBar::Base.new(:starting_at => 66, :total => 99)
840
840
 
841
- expect(progressbar.to_s('%%')).to match /^%\z/
841
+ expect(progressbar.to_s('%%')).to match(/^%\z/)
842
842
  end
843
843
 
844
844
  # Autostarting for now. This will be applicable later.
845
845
  # context "when called before #start" do
846
846
  # it "displays unknown time elapsed when using the %a flag" do
847
- # expect(progressbar.to_s('%a')).to match /^Time: --:--:--\z/
847
+ # expect(progressbar.to_s('%a')).to match(/^Time: --:--:--\z/)
848
848
  # end
849
849
  # end
850
850
 
@@ -859,19 +859,19 @@ describe ProgressBar::Base do
859
859
  before { progressbar.reset }
860
860
 
861
861
  it 'displays "??:??:??" until finished when passed the %e flag' do
862
- expect(progressbar.to_s('%a')).to match /^Time: --:--:--\z/
862
+ expect(progressbar.to_s('%a')).to match(/^Time: --:--:--\z/)
863
863
  end
864
864
  end
865
865
 
866
866
  it 'displays the time elapsed when using the "%a" flag' do
867
- expect(progressbar.to_s('%a')).to match /^Time: 01:02:03\z/
867
+ expect(progressbar.to_s('%a')).to match(/^Time: 01:02:03\z/)
868
868
  end
869
869
  end
870
870
 
871
871
  context 'when called before #start' do
872
872
  it 'displays unknown time until finished when passed the "%e" flag' do
873
873
  progressbar = ProgressBar::Base.new
874
- expect(progressbar.to_s('%e')).to match /^ ETA: \?\?:\?\?:\?\?\z/
874
+ expect(progressbar.to_s('%e')).to match(/^ ETA: \?\?:\?\?:\?\?\z/)
875
875
  end
876
876
  end
877
877
 
@@ -889,12 +889,12 @@ describe ProgressBar::Base do
889
889
  before { progressbar.reset }
890
890
 
891
891
  it 'displays "??:??:??" until finished when passed the "%e" flag' do
892
- expect(progressbar.to_s('%e')).to match /^ ETA: \?\?:\?\?:\?\?\z/
892
+ expect(progressbar.to_s('%e')).to match(/^ ETA: \?\?:\?\?:\?\?\z/)
893
893
  end
894
894
  end
895
895
 
896
896
  it 'displays the estimated time remaining when using the "%e" flag' do
897
- expect(progressbar.to_s('%e')).to match /^ ETA: 01:02:03\z/
897
+ expect(progressbar.to_s('%e')).to match(/^ ETA: 01:02:03\z/)
898
898
  end
899
899
  end
900
900
 
@@ -909,15 +909,15 @@ describe ProgressBar::Base do
909
909
  end
910
910
 
911
911
  it 'displays "> 4 Days" until finished when passed the "%E" flag' do
912
- expect(progressbar.to_s('%E')).to match /^ ETA: > 4 Days\z/
912
+ expect(progressbar.to_s('%E')).to match(/^ ETA: > 4 Days\z/)
913
913
  end
914
914
 
915
915
  it 'displays "??:??:??" until finished when passed the "%e" flag' do
916
- expect(progressbar.to_s('%e')).to match /^ ETA: \?\?:\?\?:\?\?\z/
916
+ expect(progressbar.to_s('%e')).to match(/^ ETA: \?\?:\?\?:\?\?\z/)
917
917
  end
918
918
 
919
919
  it 'displays the exact estimated time until finished when passed the "%f" flag' do
920
- expect(progressbar.to_s('%f')).to match /^ ETA: 100:00:00\z/
920
+ expect(progressbar.to_s('%f')).to match(/^ ETA: 100:00:00\z/)
921
921
  end
922
922
  end
923
923
  end
@@ -1,4 +1,4 @@
1
- require 'rspectacular'
1
+ require 'spec_helper'
2
2
 
3
3
  describe ProgressBar::Components::Bar do
4
4
  context 'when a new bar is created' do
@@ -1,4 +1,4 @@
1
- require 'rspectacular'
1
+ require 'spec_helper'
2
2
 
3
3
  describe ProgressBar::Components::ElapsedTimer do
4
4
  before { @timer = ProgressBar::Components::ElapsedTimer.new }
@@ -1,4 +1,4 @@
1
- require 'rspectacular'
1
+ require 'spec_helper'
2
2
  require 'support/time'
3
3
 
4
4
  describe ProgressBar::Components::EstimatedTimer do
@@ -1,4 +1,4 @@
1
- require 'rspectacular'
1
+ require 'spec_helper'
2
2
 
3
3
  class ProgressableClass
4
4
  include ProgressBar::Components::Progressable
@@ -1,4 +1,4 @@
1
- require 'rspectacular'
1
+ require 'spec_helper'
2
2
 
3
3
  describe ProgressBar::Components::Throttle do
4
4
  context 'given a numeric period' do
@@ -1,4 +1,4 @@
1
- require 'rspectacular'
1
+ require 'spec_helper'
2
2
 
3
3
  describe ProgressBar::RunningAverageCalculator do
4
4
  describe '.calculate' do
@@ -1,4 +1,4 @@
1
- require 'rspectacular'
1
+ require 'spec_helper'
2
2
 
3
3
  class TimeMockedWithTimecop
4
4
  def self.now; end
@@ -0,0 +1,6 @@
1
+ require "rspectacular"
2
+ require "warning_filter"
3
+
4
+ RSpec.configure do |config|
5
+ config.warnings = true
6
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-progressbar
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.0
4
+ version: 1.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - thekompanee
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-09-20 00:00:00.000000000 Z
12
+ date: 2014-10-30 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
@@ -53,6 +53,20 @@ dependencies:
53
53
  - - "~>"
54
54
  - !ruby/object:Gem::Version
55
55
  version: 2.0beta
56
+ - !ruby/object:Gem::Dependency
57
+ name: warning_filter
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - "~>"
61
+ - !ruby/object:Gem::Version
62
+ version: 0.0.2
63
+ type: :development
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: 0.0.2
56
70
  - !ruby/object:Gem::Dependency
57
71
  name: timecop
58
72
  requirement: !ruby/object:Gem::Requirement
@@ -88,12 +102,11 @@ description: |
88
102
  email: support@thekompanee.com
89
103
  executables: []
90
104
  extensions: []
91
- extra_rdoc_files:
92
- - README.md
93
- - LICENSE
105
+ extra_rdoc_files: []
94
106
  files:
95
107
  - LICENSE
96
108
  - README.md
109
+ - Rakefile
97
110
  - lib/ruby-progressbar.rb
98
111
  - lib/ruby-progressbar/base.rb
99
112
  - lib/ruby-progressbar/components.rb
@@ -123,15 +136,14 @@ files:
123
136
  - spec/lib/ruby-progressbar/format/molecule_spec.rb
124
137
  - spec/lib/ruby-progressbar/running_average_calculator_spec.rb
125
138
  - spec/lib/ruby-progressbar/time_spec.rb
139
+ - spec/spec_helper.rb
126
140
  - spec/support/time.rb
127
141
  homepage: https://github.com/jfelchner/ruby-progressbar
128
142
  licenses:
129
143
  - MIT
130
144
  metadata: {}
131
145
  post_install_message:
132
- rdoc_options:
133
- - "--charset"
134
- - UTF-8
146
+ rdoc_options: []
135
147
  require_paths:
136
148
  - lib
137
149
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -146,7 +158,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
146
158
  version: '0'
147
159
  requirements: []
148
160
  rubyforge_project:
149
- rubygems_version: 2.2.2
161
+ rubygems_version: 2.4.2
150
162
  signing_key:
151
163
  specification_version: 4
152
164
  summary: Ruby/ProgressBar is a flexible text progress bar library for Ruby.
@@ -161,5 +173,6 @@ test_files:
161
173
  - spec/lib/ruby-progressbar/format/molecule_spec.rb
162
174
  - spec/lib/ruby-progressbar/running_average_calculator_spec.rb
163
175
  - spec/lib/ruby-progressbar/time_spec.rb
176
+ - spec/spec_helper.rb
164
177
  - spec/support/time.rb
165
178
  has_rdoc: