whirly 0.2.6 → 0.3.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
- 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