progressbar_zobar 0.9.1.1 → 0.9.2.1

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.
data/.travis.yml ADDED
@@ -0,0 +1,8 @@
1
+ rvm:
2
+ - 1.8.7
3
+ - 1.9.2
4
+ - 1.9.3
5
+ - rbx-2.0
6
+ - jruby
7
+ - ruby-head
8
+ - ree
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- progressbar (0.9.1)
4
+ progressbar_zobar (0.9.2.1)
5
5
 
6
6
  GEM
7
7
  remote: http://rubygems.org/
@@ -21,7 +21,7 @@ DEPENDENCIES
21
21
  bluecloth (>= 0.3.5)
22
22
  bundler (>= 1.0.0)
23
23
  minitest
24
- progressbar!
24
+ progressbar_zobar!
25
25
  rake
26
26
  simplecov (>= 0.3.5)
27
27
  yard
data/README.rd CHANGED
@@ -76,6 +76,9 @@ The latest version of Ruby/ProgressBar is available at
76
76
  Use :stat_for_file_transfer instead of :stat to display
77
77
  transfered bytes and transfer rate.
78
78
 
79
+ --- ProgressBar#title=
80
+ Change the progress bar's title.
81
+
79
82
  --- ProgressBar#total=
80
83
  Change the progress bar's maximum value.
81
84
 
data/lib/progressbar.rb CHANGED
@@ -29,13 +29,15 @@ class ProgressBar
29
29
  clear
30
30
  show
31
31
  end
32
+
32
33
  attr_reader :title
33
34
  attr_reader :current
34
35
  attr_reader :total
35
36
  attr_accessor :start_time
36
37
  attr_writer :bar_mark
37
38
 
38
- private
39
+ private
40
+
39
41
  def fmt_bar
40
42
  bar_width = do_percentage * @terminal_width / 100
41
43
  sprintf("|%s%s|",
@@ -120,21 +122,23 @@ class ProgressBar
120
122
  end
121
123
  end
122
124
 
123
- def get_width
124
- # FIXME: I don't know how portable it is.
125
- default_width = 80
126
- begin
127
- tiocgwinsz = 0x5413
128
- data = [0, 0, 0, 0].pack("SSSS")
129
- if @out.ioctl(tiocgwinsz, data) >= 0 then
130
- rows, cols, xpixels, ypixels = data.unpack("SSSS")
131
- if cols >= 0 then cols else default_width end
132
- else
133
- default_width
134
- end
135
- rescue Exception
136
- default_width
125
+ DEFAULT_WIDTH = 80
126
+ def get_term_width
127
+ if ENV['COLUMNS'] =~ /^\d+$/
128
+ ENV['COLUMNS'].to_i
129
+ elsif (RUBY_PLATFORM =~ /java/ || (!STDIN.tty? && ENV['TERM'])) && shell_command_exists?('tput')
130
+ `tput cols`.to_i
131
+ elsif STDIN.tty? && shell_command_exists?('stty')
132
+ `stty size`.scan(/\d+/).map { |s| s.to_i }[1]
133
+ else
134
+ DEFAULT_WIDTH
137
135
  end
136
+ rescue
137
+ DEFAULT_WIDTH
138
+ end
139
+
140
+ def shell_command_exists?(command)
141
+ ENV['PATH'].split(File::PATH_SEPARATOR).any?{|d| File.exists? File.join(d, command) }
138
142
  end
139
143
 
140
144
  def show
@@ -144,7 +148,7 @@ class ProgressBar
144
148
  }
145
149
  line = sprintf(@format, *arguments)
146
150
 
147
- width = get_width
151
+ width = get_term_width
148
152
  if line.length == width - 1
149
153
  @out.print(line + eol)
150
154
  @out.flush
@@ -177,10 +181,11 @@ class ProgressBar
177
181
  end
178
182
  end
179
183
 
180
- public
184
+ public
185
+
181
186
  def clear
182
187
  @out.print "\r"
183
- @out.print(" " * (get_width - 1))
188
+ @out.print(" " * (get_term_width - 1))
184
189
  @out.print "\r"
185
190
  end
186
191
 
@@ -228,8 +233,10 @@ class ProgressBar
228
233
  end
229
234
 
230
235
  def title= (value)
231
- @title = value
232
- show
236
+ unless @title == value
237
+ @title = value
238
+ show
239
+ end
233
240
  end
234
241
 
235
242
  def total= (value)
@@ -242,6 +249,7 @@ class ProgressBar
242
249
  def inspect
243
250
  "#<ProgressBar:#{@current}/#{@total}>"
244
251
  end
252
+
245
253
  end
246
254
 
247
255
  class ReversedProgressBar < ProgressBar
data/progressbar.gemspec CHANGED
@@ -2,13 +2,13 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = "progressbar_zobar"
5
- s.version = "0.9.1.1"
5
+ s.version = "0.9.2.1"
6
6
  s.platform = Gem::Platform::RUBY
7
7
  s.authors = ["Satoru Takabayashi", "Jose Peleteiro", 'David P Kleinschmidt']
8
8
  s.email = ["satoru@0xcc.net", "jose@peleteiro.net", 'david@kleinschmidt.name']
9
9
  s.homepage = "http://github.com/zobar/progressbar"
10
- s.summary = "Ruby/ProgressBar is a text progress bar library for Ruby."
11
- s.description = "Ruby/ProgressBar is a text progress bar library for Ruby. It can indicate progress with percentage, a progress bar, and estimated remaining time."
10
+ s.summary = 'Text progress bar library for Ruby, forked from progressbar.'
11
+ s.description = "Fork of progressbar that allows changing the progress bar's title and total while still in progress."
12
12
 
13
13
  s.required_rubygems_version = ">= 1.3.6"
14
14
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: progressbar_zobar
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.1.1
4
+ version: 0.9.2.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -11,11 +11,11 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2011-11-16 00:00:00.000000000Z
14
+ date: 2011-11-28 00:00:00.000000000Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: bundler
18
- requirement: &2153368040 !ruby/object:Gem::Requirement
18
+ requirement: &2153885500 !ruby/object:Gem::Requirement
19
19
  none: false
20
20
  requirements:
21
21
  - - ! '>='
@@ -23,10 +23,10 @@ dependencies:
23
23
  version: 1.0.0
24
24
  type: :development
25
25
  prerelease: false
26
- version_requirements: *2153368040
26
+ version_requirements: *2153885500
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: minitest
29
- requirement: &2153367580 !ruby/object:Gem::Requirement
29
+ requirement: &2153885040 !ruby/object:Gem::Requirement
30
30
  none: false
31
31
  requirements:
32
32
  - - ! '>='
@@ -34,10 +34,10 @@ dependencies:
34
34
  version: '0'
35
35
  type: :development
36
36
  prerelease: false
37
- version_requirements: *2153367580
37
+ version_requirements: *2153885040
38
38
  - !ruby/object:Gem::Dependency
39
39
  name: yard
40
- requirement: &2153367120 !ruby/object:Gem::Requirement
40
+ requirement: &2153884580 !ruby/object:Gem::Requirement
41
41
  none: false
42
42
  requirements:
43
43
  - - ! '>='
@@ -45,10 +45,10 @@ dependencies:
45
45
  version: '0'
46
46
  type: :development
47
47
  prerelease: false
48
- version_requirements: *2153367120
48
+ version_requirements: *2153884580
49
49
  - !ruby/object:Gem::Dependency
50
50
  name: rake
51
- requirement: &2153366660 !ruby/object:Gem::Requirement
51
+ requirement: &2153884120 !ruby/object:Gem::Requirement
52
52
  none: false
53
53
  requirements:
54
54
  - - ! '>='
@@ -56,10 +56,10 @@ dependencies:
56
56
  version: '0'
57
57
  type: :development
58
58
  prerelease: false
59
- version_requirements: *2153366660
59
+ version_requirements: *2153884120
60
60
  - !ruby/object:Gem::Dependency
61
61
  name: simplecov
62
- requirement: &2153366200 !ruby/object:Gem::Requirement
62
+ requirement: &2153883660 !ruby/object:Gem::Requirement
63
63
  none: false
64
64
  requirements:
65
65
  - - ! '>='
@@ -67,10 +67,10 @@ dependencies:
67
67
  version: 0.3.5
68
68
  type: :development
69
69
  prerelease: false
70
- version_requirements: *2153366200
70
+ version_requirements: *2153883660
71
71
  - !ruby/object:Gem::Dependency
72
72
  name: bluecloth
73
- requirement: &2153365740 !ruby/object:Gem::Requirement
73
+ requirement: &2153883200 !ruby/object:Gem::Requirement
74
74
  none: false
75
75
  requirements:
76
76
  - - ! '>='
@@ -78,9 +78,9 @@ dependencies:
78
78
  version: 0.3.5
79
79
  type: :development
80
80
  prerelease: false
81
- version_requirements: *2153365740
82
- description: Ruby/ProgressBar is a text progress bar library for Ruby. It can indicate
83
- progress with percentage, a progress bar, and estimated remaining time.
81
+ version_requirements: *2153883200
82
+ description: Fork of progressbar that allows changing the progress bar's title and
83
+ total while still in progress.
84
84
  email:
85
85
  - satoru@0xcc.net
86
86
  - jose@peleteiro.net
@@ -91,13 +91,13 @@ extra_rdoc_files: []
91
91
  files:
92
92
  - .gitignore
93
93
  - .rvmrc
94
+ - .travis.yml
94
95
  - ChangeLog
95
96
  - Gemfile
96
97
  - Gemfile.lock
97
98
  - LICENSE
98
99
  - README.rd
99
100
  - Rakefile
100
- - VERSION
101
101
  - lib/progressbar.rb
102
102
  - progressbar.gemspec
103
103
  - test/test.rb
@@ -125,5 +125,5 @@ rubyforge_project:
125
125
  rubygems_version: 1.8.10
126
126
  signing_key:
127
127
  specification_version: 3
128
- summary: Ruby/ProgressBar is a text progress bar library for Ruby.
128
+ summary: Text progress bar library for Ruby, forked from progressbar.
129
129
  test_files: []
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 0.9.0