lapidarius 4.0.1 → 4.1.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: aa85a20faa777803fdff22b4f680bf050de0e09229181f91efd54c03e50858d2
4
- data.tar.gz: fb490c7133b98e4c364032ac1fbff5cb4d8b350dc0a1df61eaace7eaf716ad2e
3
+ metadata.gz: 662c7f9cb912bbd9b30b03badf183aaf24fd437c4344a2fc3a0834880de5ee27
4
+ data.tar.gz: 7187b0b9f13dae1d38851f1563e326e8a67b705c5f23bd5011f6ad141e4037f1
5
5
  SHA512:
6
- metadata.gz: cc2067d98c1c09e9297e6642e79ace764a0c282e677f04e6894121d8aed861935cdaf78a2bb6ef4cf666c461f1a3f6c6774064ba14478230ec29554fa5db3a2b
7
- data.tar.gz: e2251cd404033b04a5c680b94d62d7ba5178eef71ce7415721969e87ce6b4b4012c670cd8acac1732ce9fc5c33631669ba72ce03772169ca1d65e943306ece26
6
+ metadata.gz: 1789815ca25aa747d7c628ba444331e84e60055689ad03e97d9df883c14e30b85fb0225efb97066634323c3c411369ab28650ee2bd0f48438c6df975d855dc40
7
+ data.tar.gz: 333c63d14cfff43d1b9967c6bcabf9e52b462f17aeec55a4c2c44dad43a4616899844bd0c41a0028dbe1d5a43f96fe58d7cc398bc839ad07b44208b9a5feb714
@@ -7,18 +7,22 @@ module Lapidarius
7
7
 
8
8
  attr_reader :name, :version, :remote
9
9
 
10
- def initialize(args: [], io: STDOUT, command: Command, cutter: Cutter, tree: Tree)
10
+ def initialize(args: [], io: STDOUT, command: Command, cutter: Cutter,
11
+ tree: Tree, spinner: Spinner.new)
11
12
  @args = args
12
13
  @io = io
13
- @tree = tree
14
14
  @command = command
15
15
  @cutter = cutter
16
+ @tree = tree
17
+ @spinner = spinner
16
18
  @name = @args.shift unless help?
17
19
  parser.parse!(@args)
18
20
  end
19
21
 
20
22
  def call
21
- @io.puts output
23
+ @spinner.call do
24
+ @io.puts output
25
+ end
22
26
  end
23
27
 
24
28
  private def cutter
@@ -56,4 +60,28 @@ module Lapidarius
56
60
  HELP_FLAGS.any? { |h| @args.first == h }
57
61
  end
58
62
  end
63
+
64
+ class Spinner
65
+ CHARS = %w[| / - \\]
66
+
67
+ def initialize(fps = 15, delay = 1.0)
68
+ @fps = fps.to_i
69
+ @delay = delay.to_f / @fps
70
+ @iter = 0
71
+ end
72
+
73
+ def call
74
+ spinner = Thread.new do
75
+ while @iter do
76
+ print CHARS[(@iter+=1) % CHARS.length]
77
+ sleep @delay
78
+ print "\b"
79
+ end
80
+ end
81
+ yield.tap do
82
+ @iter = false
83
+ spinner.join
84
+ end
85
+ end
86
+ end
59
87
  end
@@ -1,3 +1,3 @@
1
1
  module Lapidarius
2
- VERSION = "4.0.1"
2
+ VERSION = "4.1.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lapidarius
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.1
4
+ version: 4.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - costajob