tty-progressbar 0.15.1 → 0.16.0

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 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