tty-spinner 0.7.0 → 0.8.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
  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: