whirly 0.2.6 → 0.3.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
- SHA1:
3
- metadata.gz: c9838bdc9ac96f84af04b1be93109b09f6dbacd4
4
- data.tar.gz: c54393ab1d36a8c14e1cf0fea85ecdb9b89ea266
2
+ SHA256:
3
+ metadata.gz: 0d29fbecff7cd421276c1212e4f78775d153dbdaa911c9c0ab4455cc95f7af02
4
+ data.tar.gz: a390b99e94244688c8bc6a283b1f8e407d2031f03fec6be9f9e7bfd0727c0e83
5
5
  SHA512:
6
- metadata.gz: 31c3228e24ecd0a66e6f782f3e35b582912a6354aec7970dbfd908f85ec0f2baffb98c17c5d4ba6cf577d683d27b4f8744e82c9bd95320501cd3c898482cf8cc
7
- data.tar.gz: e399ee01f428080bac062e0537f22fc3c0cad439f0949a27eb4334ce2d53cc8b02bd3fb2445f4c60c6047c1e271d3dd10170f407856d4fc6a868b7cf02be4712
6
+ metadata.gz: a5ad854b00b8d9b8e620cbe96b456fbaa98ec116233ca531e840f4204986f9397a32494e2aea1bf73057a97dc7541a6c0f868a6c901441cdf6e19a3602e2ff78
7
+ data.tar.gz: 85171c117d3f3d1d77b1fbfd9af2e864b6e2bd39d55d3673c63d8247e404c36d4f89a7de2acb4aabd250d7c247131f91833651d18c7f9b4ccabd1423b38ae11a
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  ## CHANGELOG
2
2
 
3
+ ### 0.3.0
4
+
5
+ - Allow more recent versions of Ruby and unicode-display_width gem
6
+ - Update CLI spinners to 2.6.0
7
+
3
8
  ### 0.2.6
4
9
 
5
10
  - Update CLI spinners to 1.1.0 (adds "weather" and "christmas")
data/MIT-LICENSE.txt CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2016 Jan Lelis, mail@janlelis.de
1
+ Copyright (c) 2016 Jan Lelis, https://janlelis.com
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Whirly 😀 [![[version]](https://badge.fury.io/rb/whirly.svg)](http://badge.fury.io/rb/whirly) [![[travis]](https://travis-ci.org/janlelis/whirly.svg)](https://travis-ci.org/janlelis/whirly)
1
+ # Whirly 😀 [![[version]](https://badge.fury.io/rb/whirly.svg)](https://badge.fury.io/rb/whirly) [<img src="https://github.com/janlelis/whirly/workflows/Test/badge.svg" />](https://github.com/janlelis/whirly/actions/workflows/test.yml)
2
2
 
3
3
  A simple, colorful and customizable terminal spinner library for Ruby. It comes with 24 custom spinners and also includes those from the [cli-spinners](https://github.com/sindresorhus/cli-spinners) project.
4
4
 
@@ -12,7 +12,7 @@ A simple, colorful and customizable terminal spinner library for Ruby. It comes
12
12
 
13
13
  ### Bundled Spinners from CLI Spinners
14
14
 
15
- ![](https://raw.githubusercontent.com/sindresorhus/cli-spinners/master/screenshot.gif)
15
+ ![](https://raw.githubusercontent.com/sindresorhus/cli-spinners/main/screenshot.gif)
16
16
 
17
17
  [Play on asciinema](https://asciinema.org/a/9mlcoussb137m32swwuqtb2p1?size=big)
18
18
 
@@ -65,7 +65,7 @@ Whirly.start spinner: "pong", color: false, status: "The Game of Pong" do
65
65
  end
66
66
  ```
67
67
 
68
- Also see the [examples directory](https://github.com/janlelis/whirly/tree/master/examples) for example scripts.
68
+ Also see the [examples directory](https://github.com/janlelis/whirly/tree/main/examples) for example scripts.
69
69
 
70
70
  ### Configuring Whirly
71
71
 
@@ -99,7 +99,7 @@ end
99
99
 
100
100
  ### Included Spinners
101
101
 
102
- See [`data/whirly-static-spinnes.json`](https://github.com/janlelis/whirly/blob/master/data/whirly-static-spinners.json), [`lib/whirly/spinners/whirly.rb`](https://github.com/janlelis/whirly/blob/master/lib/whirly/spinners/whirly.rb) and [cli-spinners](https://github.com/sindresorhus/cli-spinners). You can get a demonstration of all bundled spinners by running the [`examples/all_spinners.rb`](https://github.com/janlelis/whirly/blob/master/examples/all_spinners.rb) script.
102
+ See [`data/whirly-static-spinnes.json`](https://github.com/janlelis/whirly/blob/main/data/whirly-static-spinners.json), [`lib/whirly/spinners/whirly.rb`](https://github.com/janlelis/whirly/blob/main/lib/whirly/spinners/whirly.rb) and [cli-spinners](https://github.com/sindresorhus/cli-spinners). You can get a demonstration of all bundled spinners by running the [`examples/all_spinners.rb`](https://github.com/janlelis/whirly/blob/main/examples/all_spinners.rb) script.
103
103
 
104
104
  ## All `Whirly.start` / `Whirly.configure` Configuration Options
105
105
 
@@ -212,7 +212,7 @@ Whirly comes with spinners from different sources. This options defines which so
212
212
 
213
213
  *Default:* `$stdout`
214
214
 
215
- You can pass in an [IO](https://ruby-doc.org/core-2.3.1/IO.html)-like object, if you want to display *Whirly* on an other stream than `$stdout`.
215
+ You can pass in an [IO](https://ruby-doc.org/core/IO.html)-like object, if you want to display *Whirly* on an other stream than `$stdout`.
216
216
 
217
217
  ## Full Spinner Hash Format
218
218
 
@@ -220,7 +220,7 @@ A full spinner is defined by a hash which can have the following key-value pairs
220
220
 
221
221
  ### `"frames"`
222
222
 
223
- An [Array](https://ruby-doc.org/core-2.3.1/Array.html) or [Enumerable](https://ruby-doc.org/core-2.3.1/Enumerable.html) of strings that will be used as the spinner icon.
223
+ An [Array](https://ruby-doc.org/core/Array.html) or [Enumerable](https://ruby-doc.org/core/Enumerable.html) of strings that will be used as the spinner icon.
224
224
 
225
225
  ### `"proc"`
226
226
 
@@ -239,7 +239,7 @@ The order in which frames should be played. It can be one of the following:
239
239
  - `"swing"`: Cycle through all frames in normal order, and then in reverse order, but only play first and last frame once each round
240
240
  - `"random"`: Play random frames
241
241
 
242
- Please note: While `"linear"` also works with frames that are just an [Enumerable](https://ruby-doc.org/core-2.3.1/Enumerable.html), all other frame modes require the object to be representable as an [Array](https://ruby-doc.org/core-2.3.1/Array.html).
242
+ Please note: While `"linear"` also works with frames that are just an [Enumerable](https://ruby-doc.org/core/Enumerable.html), all other frame modes require the object to be representable as an [Array](https://ruby-doc.org/core/Array.html).
243
243
 
244
244
  ### `"stop"`
245
245
 
@@ -250,9 +250,9 @@ A frame to be used to end the spinner icon animation.
250
250
  - Interval is milliseconds, but don't rely on exact timing
251
251
  - Will not do anything if stream is not a real console (or `non_tty: true` is passed)
252
252
  - Colors not working? Be sure to include the [paint](https://github.com/janlelis/paint/) gem in your Gemfile
253
- - Don't set very short intervals (or it might affect performance substantly)
253
+ - Don't set very short intervals (or it might affect performance substantially)
254
254
 
255
255
  ## MIT License
256
256
 
257
- - Copyright (C) 2016 Jan Lelis <http://janlelis.com>. Released under the MIT license.
257
+ - Copyright (C) 2016 Jan Lelis <https://janlelis.com>. Released under the MIT license.
258
258
  - Contains data from cli-spinners: MIT License, Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
data/Rakefile CHANGED
@@ -35,7 +35,7 @@ end
35
35
 
36
36
  desc "#{gemspec.name} | Spec"
37
37
  task :spec do
38
- sh "for file in spec/*.rb; do ruby $file; done"
38
+ ruby "spec/whirly_spec.rb"
39
39
  end
40
40
  task default: :spec
41
41
 
@@ -274,6 +274,267 @@
274
274
  "⠀⡀"
275
275
  ]
276
276
  },
277
+ "dots8Bit": {
278
+ "interval": 80,
279
+ "frames": [
280
+ "⠀",
281
+ "⠁",
282
+ "⠂",
283
+ "⠃",
284
+ "⠄",
285
+ "⠅",
286
+ "⠆",
287
+ "⠇",
288
+ "⡀",
289
+ "⡁",
290
+ "⡂",
291
+ "⡃",
292
+ "⡄",
293
+ "⡅",
294
+ "⡆",
295
+ "⡇",
296
+ "⠈",
297
+ "⠉",
298
+ "⠊",
299
+ "⠋",
300
+ "⠌",
301
+ "⠍",
302
+ "⠎",
303
+ "⠏",
304
+ "⡈",
305
+ "⡉",
306
+ "⡊",
307
+ "⡋",
308
+ "⡌",
309
+ "⡍",
310
+ "⡎",
311
+ "⡏",
312
+ "⠐",
313
+ "⠑",
314
+ "⠒",
315
+ "⠓",
316
+ "⠔",
317
+ "⠕",
318
+ "⠖",
319
+ "⠗",
320
+ "⡐",
321
+ "⡑",
322
+ "⡒",
323
+ "⡓",
324
+ "⡔",
325
+ "⡕",
326
+ "⡖",
327
+ "⡗",
328
+ "⠘",
329
+ "⠙",
330
+ "⠚",
331
+ "⠛",
332
+ "⠜",
333
+ "⠝",
334
+ "⠞",
335
+ "⠟",
336
+ "⡘",
337
+ "⡙",
338
+ "⡚",
339
+ "⡛",
340
+ "⡜",
341
+ "⡝",
342
+ "⡞",
343
+ "⡟",
344
+ "⠠",
345
+ "⠡",
346
+ "⠢",
347
+ "⠣",
348
+ "⠤",
349
+ "⠥",
350
+ "⠦",
351
+ "⠧",
352
+ "⡠",
353
+ "⡡",
354
+ "⡢",
355
+ "⡣",
356
+ "⡤",
357
+ "⡥",
358
+ "⡦",
359
+ "⡧",
360
+ "⠨",
361
+ "⠩",
362
+ "⠪",
363
+ "⠫",
364
+ "⠬",
365
+ "⠭",
366
+ "⠮",
367
+ "⠯",
368
+ "⡨",
369
+ "⡩",
370
+ "⡪",
371
+ "⡫",
372
+ "⡬",
373
+ "⡭",
374
+ "⡮",
375
+ "⡯",
376
+ "⠰",
377
+ "⠱",
378
+ "⠲",
379
+ "⠳",
380
+ "⠴",
381
+ "⠵",
382
+ "⠶",
383
+ "⠷",
384
+ "⡰",
385
+ "⡱",
386
+ "⡲",
387
+ "⡳",
388
+ "⡴",
389
+ "⡵",
390
+ "⡶",
391
+ "⡷",
392
+ "⠸",
393
+ "⠹",
394
+ "⠺",
395
+ "⠻",
396
+ "⠼",
397
+ "⠽",
398
+ "⠾",
399
+ "⠿",
400
+ "⡸",
401
+ "⡹",
402
+ "⡺",
403
+ "⡻",
404
+ "⡼",
405
+ "⡽",
406
+ "⡾",
407
+ "⡿",
408
+ "⢀",
409
+ "⢁",
410
+ "⢂",
411
+ "⢃",
412
+ "⢄",
413
+ "⢅",
414
+ "⢆",
415
+ "⢇",
416
+ "⣀",
417
+ "⣁",
418
+ "⣂",
419
+ "⣃",
420
+ "⣄",
421
+ "⣅",
422
+ "⣆",
423
+ "⣇",
424
+ "⢈",
425
+ "⢉",
426
+ "⢊",
427
+ "⢋",
428
+ "⢌",
429
+ "⢍",
430
+ "⢎",
431
+ "⢏",
432
+ "⣈",
433
+ "⣉",
434
+ "⣊",
435
+ "⣋",
436
+ "⣌",
437
+ "⣍",
438
+ "⣎",
439
+ "⣏",
440
+ "⢐",
441
+ "⢑",
442
+ "⢒",
443
+ "⢓",
444
+ "⢔",
445
+ "⢕",
446
+ "⢖",
447
+ "⢗",
448
+ "⣐",
449
+ "⣑",
450
+ "⣒",
451
+ "⣓",
452
+ "⣔",
453
+ "⣕",
454
+ "⣖",
455
+ "⣗",
456
+ "⢘",
457
+ "⢙",
458
+ "⢚",
459
+ "⢛",
460
+ "⢜",
461
+ "⢝",
462
+ "⢞",
463
+ "⢟",
464
+ "⣘",
465
+ "⣙",
466
+ "⣚",
467
+ "⣛",
468
+ "⣜",
469
+ "⣝",
470
+ "⣞",
471
+ "⣟",
472
+ "⢠",
473
+ "⢡",
474
+ "⢢",
475
+ "⢣",
476
+ "⢤",
477
+ "⢥",
478
+ "⢦",
479
+ "⢧",
480
+ "⣠",
481
+ "⣡",
482
+ "⣢",
483
+ "⣣",
484
+ "⣤",
485
+ "⣥",
486
+ "⣦",
487
+ "⣧",
488
+ "⢨",
489
+ "⢩",
490
+ "⢪",
491
+ "⢫",
492
+ "⢬",
493
+ "⢭",
494
+ "⢮",
495
+ "⢯",
496
+ "⣨",
497
+ "⣩",
498
+ "⣪",
499
+ "⣫",
500
+ "⣬",
501
+ "⣭",
502
+ "⣮",
503
+ "⣯",
504
+ "⢰",
505
+ "⢱",
506
+ "⢲",
507
+ "⢳",
508
+ "⢴",
509
+ "⢵",
510
+ "⢶",
511
+ "⢷",
512
+ "⣰",
513
+ "⣱",
514
+ "⣲",
515
+ "⣳",
516
+ "⣴",
517
+ "⣵",
518
+ "⣶",
519
+ "⣷",
520
+ "⢸",
521
+ "⢹",
522
+ "⢺",
523
+ "⢻",
524
+ "⢼",
525
+ "⢽",
526
+ "⢾",
527
+ "⢿",
528
+ "⣸",
529
+ "⣹",
530
+ "⣺",
531
+ "⣻",
532
+ "⣼",
533
+ "⣽",
534
+ "⣾",
535
+ "⣿"
536
+ ]
537
+ },
277
538
  "line": {
278
539
  "interval": 130,
279
540
  "frames": [
@@ -720,6 +981,7 @@
720
981
  "clock": {
721
982
  "interval": 100,
722
983
  "frames": [
984
+ "🕛 ",
723
985
  "🕐 ",
724
986
  "🕑 ",
725
987
  "🕒 ",
@@ -741,6 +1003,103 @@
741
1003
  "🌏 "
742
1004
  ]
743
1005
  },
1006
+ "material": {
1007
+ "interval": 17,
1008
+ "frames": [
1009
+ "█▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
1010
+ "██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
1011
+ "███▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
1012
+ "████▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
1013
+ "██████▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
1014
+ "██████▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
1015
+ "███████▁▁▁▁▁▁▁▁▁▁▁▁▁",
1016
+ "████████▁▁▁▁▁▁▁▁▁▁▁▁",
1017
+ "█████████▁▁▁▁▁▁▁▁▁▁▁",
1018
+ "█████████▁▁▁▁▁▁▁▁▁▁▁",
1019
+ "██████████▁▁▁▁▁▁▁▁▁▁",
1020
+ "███████████▁▁▁▁▁▁▁▁▁",
1021
+ "█████████████▁▁▁▁▁▁▁",
1022
+ "██████████████▁▁▁▁▁▁",
1023
+ "██████████████▁▁▁▁▁▁",
1024
+ "▁██████████████▁▁▁▁▁",
1025
+ "▁██████████████▁▁▁▁▁",
1026
+ "▁██████████████▁▁▁▁▁",
1027
+ "▁▁██████████████▁▁▁▁",
1028
+ "▁▁▁██████████████▁▁▁",
1029
+ "▁▁▁▁█████████████▁▁▁",
1030
+ "▁▁▁▁██████████████▁▁",
1031
+ "▁▁▁▁██████████████▁▁",
1032
+ "▁▁▁▁▁██████████████▁",
1033
+ "▁▁▁▁▁██████████████▁",
1034
+ "▁▁▁▁▁██████████████▁",
1035
+ "▁▁▁▁▁▁██████████████",
1036
+ "▁▁▁▁▁▁██████████████",
1037
+ "▁▁▁▁▁▁▁█████████████",
1038
+ "▁▁▁▁▁▁▁█████████████",
1039
+ "▁▁▁▁▁▁▁▁████████████",
1040
+ "▁▁▁▁▁▁▁▁████████████",
1041
+ "▁▁▁▁▁▁▁▁▁███████████",
1042
+ "▁▁▁▁▁▁▁▁▁███████████",
1043
+ "▁▁▁▁▁▁▁▁▁▁██████████",
1044
+ "▁▁▁▁▁▁▁▁▁▁██████████",
1045
+ "▁▁▁▁▁▁▁▁▁▁▁▁████████",
1046
+ "▁▁▁▁▁▁▁▁▁▁▁▁▁███████",
1047
+ "▁▁▁▁▁▁▁▁▁▁▁▁▁▁██████",
1048
+ "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████",
1049
+ "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████",
1050
+ "█▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████",
1051
+ "██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███",
1052
+ "██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███",
1053
+ "███▁▁▁▁▁▁▁▁▁▁▁▁▁▁███",
1054
+ "████▁▁▁▁▁▁▁▁▁▁▁▁▁▁██",
1055
+ "█████▁▁▁▁▁▁▁▁▁▁▁▁▁▁█",
1056
+ "█████▁▁▁▁▁▁▁▁▁▁▁▁▁▁█",
1057
+ "██████▁▁▁▁▁▁▁▁▁▁▁▁▁█",
1058
+ "████████▁▁▁▁▁▁▁▁▁▁▁▁",
1059
+ "█████████▁▁▁▁▁▁▁▁▁▁▁",
1060
+ "█████████▁▁▁▁▁▁▁▁▁▁▁",
1061
+ "█████████▁▁▁▁▁▁▁▁▁▁▁",
1062
+ "█████████▁▁▁▁▁▁▁▁▁▁▁",
1063
+ "███████████▁▁▁▁▁▁▁▁▁",
1064
+ "████████████▁▁▁▁▁▁▁▁",
1065
+ "████████████▁▁▁▁▁▁▁▁",
1066
+ "██████████████▁▁▁▁▁▁",
1067
+ "██████████████▁▁▁▁▁▁",
1068
+ "▁██████████████▁▁▁▁▁",
1069
+ "▁██████████████▁▁▁▁▁",
1070
+ "▁▁▁█████████████▁▁▁▁",
1071
+ "▁▁▁▁▁████████████▁▁▁",
1072
+ "▁▁▁▁▁████████████▁▁▁",
1073
+ "▁▁▁▁▁▁███████████▁▁▁",
1074
+ "▁▁▁▁▁▁▁▁█████████▁▁▁",
1075
+ "▁▁▁▁▁▁▁▁█████████▁▁▁",
1076
+ "▁▁▁▁▁▁▁▁▁█████████▁▁",
1077
+ "▁▁▁▁▁▁▁▁▁█████████▁▁",
1078
+ "▁▁▁▁▁▁▁▁▁▁█████████▁",
1079
+ "▁▁▁▁▁▁▁▁▁▁▁████████▁",
1080
+ "▁▁▁▁▁▁▁▁▁▁▁████████▁",
1081
+ "▁▁▁▁▁▁▁▁▁▁▁▁███████▁",
1082
+ "▁▁▁▁▁▁▁▁▁▁▁▁███████▁",
1083
+ "▁▁▁▁▁▁▁▁▁▁▁▁▁███████",
1084
+ "▁▁▁▁▁▁▁▁▁▁▁▁▁███████",
1085
+ "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████",
1086
+ "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████",
1087
+ "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████",
1088
+ "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████",
1089
+ "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███",
1090
+ "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███",
1091
+ "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██",
1092
+ "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██",
1093
+ "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██",
1094
+ "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█",
1095
+ "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█",
1096
+ "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█",
1097
+ "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
1098
+ "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
1099
+ "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
1100
+ "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁"
1101
+ ]
1102
+ },
744
1103
  "moon": {
745
1104
  "interval": 80,
746
1105
  "frames": [
@@ -867,8 +1226,190 @@
867
1226
  "christmas": {
868
1227
  "interval": 400,
869
1228
  "frames": [
870
- "🌲",
1229
+ "🌲",
871
1230
  "🎄"
872
1231
  ]
1232
+ },
1233
+ "grenade": {
1234
+ "interval": 80,
1235
+ "frames": [
1236
+ "، ",
1237
+ "′ ",
1238
+ " ´ ",
1239
+ " ‾ ",
1240
+ " ⸌",
1241
+ " ⸊",
1242
+ " |",
1243
+ " ⁎",
1244
+ " ⁕",
1245
+ " ෴ ",
1246
+ " ⁓",
1247
+ " ",
1248
+ " ",
1249
+ " "
1250
+ ]
1251
+ },
1252
+ "point": {
1253
+ "interval": 125,
1254
+ "frames": [
1255
+ "∙∙∙",
1256
+ "●∙∙",
1257
+ "∙●∙",
1258
+ "∙∙●",
1259
+ "∙∙∙"
1260
+ ]
1261
+ },
1262
+ "layer": {
1263
+ "interval": 150,
1264
+ "frames": [
1265
+ "-",
1266
+ "=",
1267
+ "≡"
1268
+ ]
1269
+ },
1270
+ "betaWave": {
1271
+ "interval": 80,
1272
+ "frames": [
1273
+ "ρββββββ",
1274
+ "βρβββββ",
1275
+ "ββρββββ",
1276
+ "βββρβββ",
1277
+ "ββββρββ",
1278
+ "βββββρβ",
1279
+ "ββββββρ"
1280
+ ]
1281
+ },
1282
+ "fingerDance": {
1283
+ "interval": 160,
1284
+ "frames": [
1285
+ "🤘 ",
1286
+ "🤟 ",
1287
+ "🖖 ",
1288
+ "✋ ",
1289
+ "🤚 ",
1290
+ "👆 "
1291
+ ]
1292
+ },
1293
+ "fistBump": {
1294
+ "interval": 80,
1295
+ "frames": [
1296
+ "🤜\u3000\u3000\u3000\u3000🤛 ",
1297
+ "🤜\u3000\u3000\u3000\u3000🤛 ",
1298
+ "🤜\u3000\u3000\u3000\u3000🤛 ",
1299
+ "\u3000🤜\u3000\u3000🤛\u3000 ",
1300
+ "\u3000\u3000🤜🤛\u3000\u3000 ",
1301
+ "\u3000🤜✨🤛\u3000\u3000 ",
1302
+ "🤜\u3000✨\u3000🤛\u3000 "
1303
+ ]
1304
+ },
1305
+ "soccerHeader": {
1306
+ "interval": 80,
1307
+ "frames": [
1308
+ " 🧑⚽️ 🧑 ",
1309
+ "🧑 ⚽️ 🧑 ",
1310
+ "🧑 ⚽️ 🧑 ",
1311
+ "🧑 ⚽️ 🧑 ",
1312
+ "🧑 ⚽️ 🧑 ",
1313
+ "🧑 ⚽️ 🧑 ",
1314
+ "🧑 ⚽️🧑 ",
1315
+ "🧑 ⚽️ 🧑 ",
1316
+ "🧑 ⚽️ 🧑 ",
1317
+ "🧑 ⚽️ 🧑 ",
1318
+ "🧑 ⚽️ 🧑 ",
1319
+ "🧑 ⚽️ 🧑 "
1320
+ ]
1321
+ },
1322
+ "mindblown": {
1323
+ "interval": 160,
1324
+ "frames": [
1325
+ "😐 ",
1326
+ "😐 ",
1327
+ "😮 ",
1328
+ "😮 ",
1329
+ "😦 ",
1330
+ "😦 ",
1331
+ "😧 ",
1332
+ "😧 ",
1333
+ "🤯 ",
1334
+ "💥 ",
1335
+ "✨ ",
1336
+ "\u3000 ",
1337
+ "\u3000 ",
1338
+ "\u3000 "
1339
+ ]
1340
+ },
1341
+ "speaker": {
1342
+ "interval": 160,
1343
+ "frames": [
1344
+ "🔈 ",
1345
+ "🔉 ",
1346
+ "🔊 ",
1347
+ "🔉 "
1348
+ ]
1349
+ },
1350
+ "orangePulse": {
1351
+ "interval": 100,
1352
+ "frames": [
1353
+ "🔸 ",
1354
+ "🔶 ",
1355
+ "🟠 ",
1356
+ "🟠 ",
1357
+ "🔶 "
1358
+ ]
1359
+ },
1360
+ "bluePulse": {
1361
+ "interval": 100,
1362
+ "frames": [
1363
+ "🔹 ",
1364
+ "🔷 ",
1365
+ "🔵 ",
1366
+ "🔵 ",
1367
+ "🔷 "
1368
+ ]
1369
+ },
1370
+ "orangeBluePulse": {
1371
+ "interval": 100,
1372
+ "frames": [
1373
+ "🔸 ",
1374
+ "🔶 ",
1375
+ "🟠 ",
1376
+ "🟠 ",
1377
+ "🔶 ",
1378
+ "🔹 ",
1379
+ "🔷 ",
1380
+ "🔵 ",
1381
+ "🔵 ",
1382
+ "🔷 "
1383
+ ]
1384
+ },
1385
+ "timeTravel": {
1386
+ "interval": 100,
1387
+ "frames": [
1388
+ "🕛 ",
1389
+ "🕚 ",
1390
+ "🕙 ",
1391
+ "🕘 ",
1392
+ "🕗 ",
1393
+ "🕖 ",
1394
+ "🕕 ",
1395
+ "🕔 ",
1396
+ "🕓 ",
1397
+ "🕒 ",
1398
+ "🕑 ",
1399
+ "🕐 "
1400
+ ]
1401
+ },
1402
+ "aesthetic": {
1403
+ "interval": 80,
1404
+ "frames": [
1405
+ "▰▱▱▱▱▱▱",
1406
+ "▰▰▱▱▱▱▱",
1407
+ "▰▰▰▱▱▱▱",
1408
+ "▰▰▰▰▱▱▱",
1409
+ "▰▰▰▰▰▱▱",
1410
+ "▰▰▰▰▰▰▱",
1411
+ "▰▰▰▰▰▰▰",
1412
+ "▰▱▱▱▱▱▱"
1413
+ ]
873
1414
  }
874
1415
  }
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Whirly
2
- VERSION = "0.2.6".freeze
4
+ VERSION = "0.3.0"
3
5
  end
data/spec/whirly_spec.rb CHANGED
@@ -5,11 +5,11 @@ require "paint"
5
5
  require "stringio"
6
6
 
7
7
  def short_sleep
8
- sleep 0.2
8
+ sleep 0.4
9
9
  end
10
10
 
11
11
  def medium_sleep
12
- sleep 0.6
12
+ sleep 0.7
13
13
  end
14
14
 
15
15
  def long_sleep
@@ -201,12 +201,12 @@ describe Whirly do
201
201
  it "spins more often when interval is lower" do
202
202
  capture1 = StringIO.new
203
203
  Whirly.start(stream: capture1, interval: 100)
204
- medium_sleep
204
+ long_sleep
205
205
  Whirly.stop
206
206
 
207
207
  capture2 = StringIO.new
208
208
  Whirly.start(stream: capture2, interval: 50)
209
- medium_sleep
209
+ long_sleep
210
210
  Whirly.stop
211
211
 
212
212
  assert capture1.string.size < capture2.string.size
@@ -220,7 +220,7 @@ describe Whirly do
220
220
  short_sleep
221
221
  Whirly.stop
222
222
 
223
- refute /\[38;5;/ =~ @capture.string
223
+ refute /\[38;/ =~ @capture.string
224
224
  end
225
225
 
226
226
  it "will use color when :color option is truthy" do
@@ -228,7 +228,7 @@ describe Whirly do
228
228
  short_sleep
229
229
  Whirly.stop
230
230
 
231
- assert /\[38;5;/ =~ @capture.string
231
+ assert /\[38;/ =~ @capture.string
232
232
  end
233
233
 
234
234
  it "defaults :color to true when the paint gem is available" do
@@ -251,7 +251,7 @@ describe Whirly do
251
251
  long_sleep
252
252
  Whirly.stop
253
253
 
254
- colors = @capture.string.scan(/\[38;5;(\d+)m/).flatten
254
+ colors = @capture.string.scan(/\[38;.*?m/).flatten
255
255
  assert colors.uniq.size > 1
256
256
  end
257
257
  end
data/whirly.gemspec CHANGED
@@ -8,7 +8,7 @@ Gem::Specification.new do |gem|
8
8
  gem.summary = "Whirly: The friendly terminal spinner"
9
9
  gem.description = "Simple terminal spinner with support for custom spinners. Includes spinners from npm's cli-spinners."
10
10
  gem.authors = ["Jan Lelis"]
11
- gem.email = ["mail@janlelis.de"]
11
+ gem.email = ["hi@ruby.consulting"]
12
12
  gem.homepage = "https://github.com/janlelis/whirly"
13
13
  gem.license = "MIT"
14
14
 
@@ -20,7 +20,7 @@ Gem::Specification.new do |gem|
20
20
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
21
21
  gem.require_paths = ["lib"]
22
22
 
23
- gem.add_dependency "unicode-display_width", "~> 1.1"
23
+ gem.add_dependency "unicode-display_width", ">= 1.1"
24
24
 
25
- gem.required_ruby_version = "~> 2.0"
25
+ gem.required_ruby_version = ">= 2.0", "< 4.0"
26
26
  end
metadata CHANGED
@@ -1,40 +1,39 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: whirly
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.6
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jan Lelis
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-11-01 00:00:00.000000000 Z
11
+ date: 2021-06-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: unicode-display_width
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.1'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.1'
27
27
  description: Simple terminal spinner with support for custom spinners. Includes spinners
28
28
  from npm's cli-spinners.
29
29
  email:
30
- - mail@janlelis.de
30
+ - hi@ruby.consulting
31
31
  executables: []
32
32
  extensions: []
33
33
  extra_rdoc_files: []
34
34
  files:
35
35
  - ".gitignore"
36
36
  - ".gitmodules"
37
- - ".travis.yml"
38
37
  - CHANGELOG.md
39
38
  - CODE_OF_CONDUCT.md
40
39
  - Gemfile
@@ -68,17 +67,19 @@ require_paths:
68
67
  - lib
69
68
  required_ruby_version: !ruby/object:Gem::Requirement
70
69
  requirements:
71
- - - "~>"
70
+ - - ">="
72
71
  - !ruby/object:Gem::Version
73
72
  version: '2.0'
73
+ - - "<"
74
+ - !ruby/object:Gem::Version
75
+ version: '4.0'
74
76
  required_rubygems_version: !ruby/object:Gem::Requirement
75
77
  requirements:
76
78
  - - ">="
77
79
  - !ruby/object:Gem::Version
78
80
  version: '0'
79
81
  requirements: []
80
- rubyforge_project:
81
- rubygems_version: 2.6.13
82
+ rubygems_version: 3.2.3
82
83
  signing_key:
83
84
  specification_version: 4
84
85
  summary: 'Whirly: The friendly terminal spinner'
data/.travis.yml DELETED
@@ -1,21 +0,0 @@
1
- sudo: false
2
- language: ruby
3
-
4
- script: bundle exec ruby spec/whirly_spec.rb
5
-
6
- rvm:
7
- - 2.4.2
8
- - 2.3.4
9
- - 2.2
10
- - 2.1
11
- - 2.0
12
- - ruby-head
13
- - jruby-head
14
- - jruby-9.1.13.0
15
-
16
- cache:
17
- - bundler
18
-
19
- matrix:
20
- allow_failures:
21
- - rvm: jruby-head