tty-progressbar 0.15.1 → 0.16.0

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
  SHA256:
3
- metadata.gz: 940663302a6775a3d728f4f10d15baf71da3506de9f3d38c41afd1cb9e62c9fd
4
- data.tar.gz: 60d9a661744ebf03811bb9c68a3254003c1f28882998fe21083b0226beab720e
3
+ metadata.gz: 3538f92c577a1c9890b5389aed821f5f1f6de04521b291c01640e5a22d1e8d50
4
+ data.tar.gz: 752d77e450c845506e9b66453c2b9e780ced9239e7cf279a8fef4e4454c60d31
5
5
  SHA512:
6
- metadata.gz: 0f195b2df5a8c46be31ab2464a4b0413357e2a1ed89136a8e11ffc509b59e243a8a5719d1caa616f0e5b1e0608936ce271992e06ed2d7db4dbfb4a6aabf05396
7
- data.tar.gz: 4223f51b08087157277d8bc660b06751962b2884401484e4962250e6031fa24c6fc524f21f90bb5709adc76f023eacf063ca652a792088292a44ef0c1af1a7ec
6
+ metadata.gz: ed90ceccfbddcecdda4e4fbbe0e56a732aa641949756c0de7c8e4accd4054293362991f9bea615fb1ca8e4665e670cda1242251608f3046b2e3eb013154c072d
7
+ data.tar.gz: 1d0913a024299a2b709d9bb892b68620cc19f527100f27577edc123b220e4b50f554d530afcc14a45e15a55f7aa7051f6751e9abdc4e1f6c45ce745de0100834
@@ -1,5 +1,16 @@
1
1
  # Change log
2
2
 
3
+ ## [v0.16.0] - 2018-08-27
4
+
5
+ ### Added
6
+ * Add strings-ansi dependency
7
+
8
+ ### Changed
9
+ * Change tty-cursor dependency version
10
+
11
+ ### Fixed
12
+ * Fix to handle ANSI codes in bar formatting to allow correct size calculation
13
+
3
14
  ## [v0.15.1] - 2018-07-19
4
15
 
5
16
  ### Fixed
@@ -184,6 +195,7 @@
184
195
 
185
196
  * Initial implementation and release
186
197
 
198
+ [v0.16.0]: https://github.com/piotrmurach/tty-progressbar/compare/v0.15.1...v0.16.0
187
199
  [v0.15.1]: https://github.com/piotrmurach/tty-progressbar/compare/v0.15.0...v0.15.1
188
200
  [v0.15.0]: https://github.com/piotrmurach/tty-progressbar/compare/v0.14.0...v0.15.0
189
201
  [v0.14.0]: https://github.com/piotrmurach/tty-progressbar/compare/v0.13.0...v0.14.0
@@ -0,0 +1,23 @@
1
+ ### Are you in the right place?
2
+ * For issues or feature requests file a GitHub issue in this repository
3
+ * For general questions or discussion post in [Gitter](https://gitter.im/piotrmurach/tty)
4
+
5
+ ### Describe the problem
6
+ A brief description of the issue/feature.
7
+
8
+ ### Steps to reproduce the problem
9
+ ```
10
+ Your code here to reproduce the issue
11
+ ```
12
+
13
+ ### Actual behaviour
14
+ What happened? This could be a description, log output, error raised etc...
15
+
16
+ ### Expected behaviour
17
+ What did you expect to happen?
18
+
19
+ ### Describe your environment
20
+
21
+ * OS version:
22
+ * Ruby version:
23
+ * TTY::ProgressBar version:
@@ -0,0 +1,18 @@
1
+ ### Describe the change
2
+ What does this Pull Request do?
3
+
4
+ ### Why are we doing this?
5
+ Any related context as to why is this is a desirable change.
6
+
7
+ ### Benefits
8
+ How will the library improve?
9
+
10
+ ### Drawbacks
11
+ Possible drawbacks applying this change.
12
+
13
+ ### Requirements
14
+ Put an X between brackets on each line if you have done the item:
15
+ [] Tests written & passing locally?
16
+ [] Code style checked?
17
+ [] Rebased with `master` branch?
18
+ [] Documentaion updated?
data/README.md CHANGED
@@ -1,3 +1,7 @@
1
+ <div align="center">
2
+ <a href="https://piotrmurach.github.io/tty" target="_blank"><img width="130" src="https://cdn.rawgit.com/piotrmurach/tty/master/images/tty.png" alt="tty logo" /></a>
3
+ </div>
4
+
1
5
  # TTY::ProgressBar [![Gitter](https://badges.gitter.im/Join%20Chat.svg)][gitter]
2
6
 
3
7
  [![Gem Version](https://badge.fury.io/rb/tty-progressbar.svg)][gem]
@@ -5,6 +5,7 @@ require 'forwardable'
5
5
  require 'monitor'
6
6
  require 'tty-cursor'
7
7
  require 'tty-screen'
8
+ require 'strings-ansi'
8
9
  require 'unicode/display_width'
9
10
 
10
11
  require_relative 'progressbar/configuration'
@@ -58,7 +59,7 @@ module TTY
58
59
  #
59
60
  # @api public
60
61
  def self.display_columns(value)
61
- Unicode::DisplayWidth.of(value)
62
+ Unicode::DisplayWidth.of(Strings::ANSI.sanitize(value))
62
63
  end
63
64
 
64
65
  # Create progress bar
@@ -1,5 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module TTY
2
4
  class ProgressBar
3
- VERSION = '0.15.1'.freeze
5
+ VERSION = '0.16.0'
4
6
  end # ProgressBar
5
7
  end # TTY
@@ -13,4 +13,21 @@ RSpec.describe TTY::ProgressBar, ':bar token' do
13
13
  "\e[1G[=====]\n"
14
14
  ].join)
15
15
  end
16
+
17
+ it "animates colors correctly" do
18
+ red = "\e[31m \e[0m"
19
+ green = "\e[32m \e[0m"
20
+ progress = TTY::ProgressBar.new("[:bar]", total: 5, complete: green,
21
+ incomplete: red, output: output)
22
+
23
+ 5.times { progress.advance }
24
+ output.rewind
25
+ expect(output.read).to eq([
26
+ "\e[1G[#{green}#{red}#{red}#{red}#{red}]",
27
+ "\e[1G[#{green}#{green}#{red}#{red}#{red}]",
28
+ "\e[1G[#{green}#{green}#{green}#{red}#{red}]",
29
+ "\e[1G[#{green}#{green}#{green}#{green}#{red}]",
30
+ "\e[1G[#{green}#{green}#{green}#{green}#{green}]\n",
31
+ ].join)
32
+ end
16
33
  end
@@ -19,7 +19,8 @@ Gem::Specification.new do |spec|
19
19
 
20
20
  spec.required_ruby_version = '>= 2.0.0'
21
21
 
22
- spec.add_dependency 'tty-cursor', '~> 0.5.0'
22
+ spec.add_dependency 'strings-ansi', '~> 0.1.0'
23
+ spec.add_dependency 'tty-cursor', '~> 0.6.0'
23
24
  spec.add_dependency 'tty-screen', '~> 0.6.4'
24
25
  spec.add_dependency 'unicode-display_width', '~> 1.3'
25
26
 
metadata CHANGED
@@ -1,29 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tty-progressbar
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.15.1
4
+ version: 0.16.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Piotr Murach
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-07-19 00:00:00.000000000 Z
11
+ date: 2018-08-27 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: strings-ansi
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 0.1.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 0.1.0
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: tty-cursor
15
29
  requirement: !ruby/object:Gem::Requirement
16
30
  requirements:
17
31
  - - "~>"
18
32
  - !ruby/object:Gem::Version
19
- version: 0.5.0
33
+ version: 0.6.0
20
34
  type: :runtime
21
35
  prerelease: false
22
36
  version_requirements: !ruby/object:Gem::Requirement
23
37
  requirements:
24
38
  - - "~>"
25
39
  - !ruby/object:Gem::Version
26
- version: 0.5.0
40
+ version: 0.6.0
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: tty-screen
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -128,7 +142,9 @@ files:
128
142
  - CHANGELOG.md
129
143
  - CODE_OF_CONDUCT.md
130
144
  - Gemfile
145
+ - ISSUE_TEMPLATE.md
131
146
  - LICENSE.txt
147
+ - PULL_REQUEST_TEMPLATE.md
132
148
  - README.md
133
149
  - Rakefile
134
150
  - appveyor.yml