tty-spinner 0.7.0 → 0.8.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
  SHA1:
3
- metadata.gz: 3e159c565080b22ece86e4771413feb3edcd39b3
4
- data.tar.gz: 890c0f15b5b77de235f25295cbb861745c514b60
3
+ metadata.gz: 78cca8f09f1905f3cc652e58d71e0e9aaa0b90af
4
+ data.tar.gz: 8b4776c0f0e1e347edf5f03af42a548198ad24fe
5
5
  SHA512:
6
- metadata.gz: 88a4bbd2545b596b43ff8ad0ffc9790a125da1a00c2bc4f436e4aa6879536767b3b32ae8de98e928adc785d9e55ff1120ef3c68270db265d691726b522a6606d
7
- data.tar.gz: 7a138538758b9805c098e397d136dbfafb69bfcd596272078eb5294d3ad5df3a595cd547afe69fc6ba19ab3fd8fc552e9406a99cabfbab3176e098fa36559e59
6
+ metadata.gz: c098cbcad5c133655d05693bcbbbd4bdbc59118ae5334cb6f81fe196aa66aab6b67490b54887d467e7615847250ccf77b2d5f773c5f2f8b4c47905c18d898ba3
7
+ data.tar.gz: 690a4aa38f1b0955d9bb448e45896e3034eb4c6422aa57d177e6a6eb76148cf10d7d87c45bc6e37b79db27f68c090e3d64ab9aef02082ebf4158d941c63c32f0
data/README.md CHANGED
@@ -1,8 +1,9 @@
1
1
  # TTY::Spinner [![Gitter](https://badges.gitter.im/Join%20Chat.svg)][gitter]
2
+
2
3
  [![Gem Version](https://badge.fury.io/rb/tty-spinner.svg)][gem]
3
4
  [![Build Status](https://secure.travis-ci.org/piotrmurach/tty-spinner.svg?branch=master)][travis]
4
5
  [![Build status](https://ci.appveyor.com/api/projects/status/2i5lx3tvyi5l8x3j?svg=true)][appveyor]
5
- [![Code Climate](https://codeclimate.com/github/piotrmurach/tty-spinner/badges/gpa.png)][codeclimate]
6
+ [![Maintainability](https://api.codeclimate.com/v1/badges/d5ae2219e194ac99be58/maintainability)][codeclimate]
6
7
  [![Coverage Status](https://coveralls.io/repos/piotrmurach/tty-spinner/badge.svg)][coverage]
7
8
  [![Inline docs](http://inch-ci.org/github/piotrmurach/tty-spinner.svg?branch=master)][inchpages]
8
9
 
@@ -10,7 +11,7 @@
10
11
  [gem]: http://badge.fury.io/rb/tty-spinner
11
12
  [travis]: http://travis-ci.org/piotrmurach/tty-spinner
12
13
  [appveyor]: https://ci.appveyor.com/project/piotrmurach/tty-spinner
13
- [codeclimate]: https://codeclimate.com/github/piotrmurach/tty-spinner
14
+ [codeclimate]: https://codeclimate.com/github/piotrmurach/tty-spinner/maintainability
14
15
  [coverage]: https://coveralls.io/r/piotrmurach/tty-spinner
15
16
  [inchpages]: http://inch-ci.org/github/piotrmurach/tty-spinner
16
17
 
@@ -356,9 +357,11 @@ spinner = TTY::Spinner.new(error_mark: 'x')
356
357
 
357
358
  ### 3.8 :output
358
359
 
359
- To change where data is streamed use `:output` option like so:
360
+ The spinner only outputs to a console and when output is redirected to a file or a pipe it does nothing. This is so, for example, your error logs do not overflow with spinner output.
360
361
 
361
- ```
362
+ You can change where console output is streamed with `:output` option:
363
+
364
+ ```ruby
362
365
  spinner = TTY::Spinner.new(output: $stdout)
363
366
  ```
364
367
 
@@ -533,4 +536,4 @@ multi_spinner = TTY::Spinner::Multi.new("[:spinner] parent", style: {
533
536
 
534
537
  ## Copyright
535
538
 
536
- Copyright (c) 2014-2017 Piotr Murach. See LICENSE for further details.
539
+ Copyright (c) 2014-2018 Piotr Murach. See LICENSE for further details.
@@ -373,7 +373,8 @@ module TTY
373
373
  if @hide_cursor
374
374
  write(TTY::Cursor.show, false)
375
375
  end
376
- return clear_line if @clear
376
+ clear_line
377
+ return if @clear
377
378
 
378
379
  data = message.gsub(MATCHER, next_char)
379
380
  data = replace_tokens(data)
@@ -381,7 +382,7 @@ module TTY
381
382
  data << ' ' + stop_message
382
383
  end
383
384
 
384
- write(data, true)
385
+ write(data, false)
385
386
  write("\n", false) unless @clear || @multispinner
386
387
  ensure
387
388
  @state = :stopped
@@ -496,6 +497,8 @@ module TTY
496
497
  #
497
498
  # @api private
498
499
  def write(data, clear_first = false)
500
+ return unless tty? # write only to terminal
501
+
499
502
  execute_on_line do
500
503
  output.print(TTY::Cursor.column(1)) if clear_first
501
504
  # If there's a top level spinner, print with inset
@@ -505,6 +508,15 @@ module TTY
505
508
  end
506
509
  end
507
510
 
511
+ # Check if IO is attached to a terminal
512
+ #
513
+ # return [Boolean]
514
+ #
515
+ # @api public
516
+ def tty?
517
+ output.respond_to?(:tty?) && output.tty?
518
+ end
519
+
508
520
  # Emit callback
509
521
  #
510
522
  # @api private
@@ -20,7 +20,7 @@ module TTY
20
20
  frames: %w{◰ ◳ ◲ ◱}
21
21
  },
22
22
  spin_4: {
23
- inteval: 10,
23
+ interval: 10,
24
24
  frames: %w{╫ ╪'}
25
25
  },
26
26
  pulse: {
@@ -37,7 +37,47 @@ module TTY
37
37
  },
38
38
  dots: {
39
39
  interval: 10,
40
- frames: [ "", "", "", "", "", "", "", "", "", "" ]
40
+ frames: %w{⠋ ⠙ ⠹ ⠸ ⠼ ⠴ ⠦ ⠧ ⠇ ⠏}
41
+ },
42
+ dots_2: {
43
+ interval: 10,
44
+ frames: %w{⣾ ⣽ ⣻ ⢿ ⡿ ⣟ ⣯ ⣷}
45
+ },
46
+ dots_3: {
47
+ interval: 10,
48
+ frames: %w{⠋ ⠙ ⠚ ⠞ ⠖ ⠦ ⠴ ⠲ ⠳ ⠓}
49
+ },
50
+ dots_4: {
51
+ interval: 10,
52
+ frames: %w{⠄ ⠆ ⠇ ⠋ ⠙ ⠸ ⠰ ⠠ ⠰ ⠸ ⠙ ⠋ ⠇ ⠆}
53
+ },
54
+ dots_5: {
55
+ interval: 10,
56
+ frames: %w{⠋ ⠙ ⠚ ⠒ ⠂ ⠂ ⠒ ⠲ ⠴ ⠦ ⠖ ⠒ ⠐ ⠐ ⠒ ⠓ ⠋}
57
+ },
58
+ dots_6: {
59
+ interval: 10,
60
+ frames: %w{⠁ ⠉ ⠙ ⠚ ⠒ ⠂ ⠂ ⠒ ⠲ ⠴ ⠤ ⠄ ⠄ ⠤ ⠴ ⠲ ⠒ ⠂ ⠂ ⠒ ⠚ ⠙ ⠉ ⠁}
61
+ },
62
+ dots_7: {
63
+ interval: 10,
64
+ frames: %w{⠈ ⠉ ⠋ ⠓ ⠒ ⠐ ⠐ ⠒ ⠖ ⠦ ⠤ ⠠ ⠠ ⠤ ⠦ ⠖ ⠒ ⠐ ⠐ ⠒ ⠓ ⠋ ⠉ ⠈}
65
+ },
66
+ dots_8: {
67
+ interval: 10,
68
+ frames: %w{⠁ ⠁ ⠉ ⠙ ⠚ ⠒ ⠂ ⠂ ⠒ ⠲ ⠴ ⠤ ⠄ ⠄ ⠤ ⠠ ⠠ ⠤ ⠦ ⠖ ⠒ ⠐ ⠐ ⠒ ⠓ ⠋ ⠉ ⠈ ⠈}
69
+ },
70
+ dots_9: {
71
+ interval: 10,
72
+ frames: %w{⢹ ⢺ ⢼ ⣸ ⣇ ⡧ ⡗ ⡏}
73
+ },
74
+ dots_10: {
75
+ interval: 10,
76
+ frames: %w{⢄ ⢂ ⢁ ⡁ ⡈ ⡐ ⡠}
77
+ },
78
+ dots_11: {
79
+ interval: 10,
80
+ frames: %w{⠁ ⠂ ⠄ ⡀ ⢀ ⠠ ⠐ ⠈}
41
81
  },
42
82
  arrow: {
43
83
  interval: 10,
@@ -94,6 +134,10 @@ module TTY
94
134
  "(● )"
95
135
  ]
96
136
  },
137
+ bounce: {
138
+ interval: 10,
139
+ frames: %w{ ⠁ ⠂ ⠄ ⠂ }
140
+ },
97
141
  box_bounce: {
98
142
  interval: 10,
99
143
  frames: %w{ ▌ ▀ ▐ ▄ }
@@ -121,6 +165,80 @@ module TTY
121
165
  flip: {
122
166
  interval: 10,
123
167
  frames: '-◡⊙-◠'.freeze
168
+ },
169
+ burger: {
170
+ interval: 6,
171
+ frames: %w{ ☱ ☲ ☴ }
172
+ },
173
+ dance: {
174
+ interval: 10,
175
+ frames: [">))'>", " >))'>", " >))'>", " >))'>", " >))'>", " <'((<", " <'((<", " <'((<"]
176
+ },
177
+ shark: {
178
+ interval: 10,
179
+ frames: [
180
+ "▐|\\____________▌",
181
+ "▐_|\\___________▌",
182
+ "▐__|\\__________▌",
183
+ "▐___|\\_________▌",
184
+ "▐____|\\________▌",
185
+ "▐_____|\\_______▌",
186
+ "▐______|\\______▌",
187
+ "▐_______|\\_____▌",
188
+ "▐________|\\____▌",
189
+ "▐_________|\\___▌",
190
+ "▐__________|\\__▌",
191
+ "▐___________|\\_▌",
192
+ "▐____________|\\▌",
193
+ "▐____________/|▌",
194
+ "▐___________/|_▌",
195
+ "▐__________/|__▌",
196
+ "▐_________/|___▌",
197
+ "▐________/|____▌",
198
+ "▐_______/|_____▌",
199
+ "▐______/|______▌",
200
+ "▐_____/|_______▌",
201
+ "▐____/|________▌",
202
+ "▐___/|_________▌",
203
+ "▐__/|__________▌",
204
+ "▐_/|___________▌",
205
+ "▐/|____________▌"
206
+ ]
207
+ },
208
+ pong: {
209
+ interval: 10,
210
+ frames: [
211
+ "▐⠂ ▌",
212
+ "▐⠈ ▌",
213
+ "▐ ⠂ ▌",
214
+ "▐ ⠠ ▌",
215
+ "▐ ⡀ ▌",
216
+ "▐ ⠠ ▌",
217
+ "▐ ⠂ ▌",
218
+ "▐ ⠈ ▌",
219
+ "▐ ⠂ ▌",
220
+ "▐ ⠠ ▌",
221
+ "▐ ⡀ ▌",
222
+ "▐ ⠠ ▌",
223
+ "▐ ⠂ ▌",
224
+ "▐ ⠈ ▌",
225
+ "▐ ⠂▌",
226
+ "▐ ⠠▌",
227
+ "▐ ⡀▌",
228
+ "▐ ⠠ ▌",
229
+ "▐ ⠂ ▌",
230
+ "▐ ⠈ ▌",
231
+ "▐ ⠂ ▌",
232
+ "▐ ⠠ ▌",
233
+ "▐ ⡀ ▌",
234
+ "▐ ⠠ ▌",
235
+ "▐ ⠂ ▌",
236
+ "▐ ⠈ ▌",
237
+ "▐ ⠂ ▌",
238
+ "▐ ⠠ ▌",
239
+ "▐ ⡀ ▌",
240
+ "▐⠠ ▌"
241
+ ]
124
242
  }
125
243
  }
126
244
  end # Formats
@@ -2,6 +2,6 @@
2
2
 
3
3
  module TTY
4
4
  class Spinner
5
- VERSION = "0.7.0"
5
+ VERSION = '0.8.0'.freeze
6
6
  end # Spinner
7
7
  end # TTY
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tty-spinner
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.8.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: 2017-09-11 00:00:00.000000000 Z
11
+ date: 2018-01-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: tty-cursor
@@ -45,33 +45,33 @@ dependencies:
45
45
  - !ruby/object:Gem::Version
46
46
  version: '2.0'
47
47
  - !ruby/object:Gem::Dependency
48
- name: rake
48
+ name: rspec
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  requirements:
51
- - - ">="
51
+ - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: '0'
53
+ version: '3.1'
54
54
  type: :development
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
- - - ">="
58
+ - - "~>"
59
59
  - !ruby/object:Gem::Version
60
- version: '0'
60
+ version: '3.1'
61
61
  - !ruby/object:Gem::Dependency
62
- name: rspec
62
+ name: rake
63
63
  requirement: !ruby/object:Gem::Requirement
64
64
  requirements:
65
- - - "~>"
65
+ - - ">="
66
66
  - !ruby/object:Gem::Version
67
- version: '3.1'
67
+ version: '0'
68
68
  type: :development
69
69
  prerelease: false
70
70
  version_requirements: !ruby/object:Gem::Requirement
71
71
  requirements:
72
- - - "~>"
72
+ - - ">="
73
73
  - !ruby/object:Gem::Version
74
- version: '3.1'
74
+ version: '0'
75
75
  description: A terminal spinner for tasks that have non-deterministic time frame.
76
76
  email:
77
77
  - pmurach@gmail.com
@@ -111,4 +111,3 @@ signing_key:
111
111
  specification_version: 4
112
112
  summary: A terminal spinner for tasks that have non-deterministic time frame.
113
113
  test_files: []
114
- has_rdoc: