tty-spinner 0.3.0 → 0.4.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: 9b97fa767937b67b27ecbba2fb06a5b9f69c4d6b
4
- data.tar.gz: 20dee6fe62ec0e5f431424f54a26848291773245
3
+ metadata.gz: 806a1cadc39a03d6b98e3e365fd1c528cc250ae8
4
+ data.tar.gz: 05929fcc41b54e854a141ff8b52a599081acce85
5
5
  SHA512:
6
- metadata.gz: bae4dcda349f6d01fe50d39dafbc1519a386e160e0d3568702c588648fcbdd2d673c2e06a8c6508c3b8623cf558ddbe76101c67384892e37d41e7e195f321458
7
- data.tar.gz: e319158428db89baa850bbcd14dba26caa9ad9230377bb2f65cde8fdfd42c40b53eec9f205962421e8745a44f31d0406b8cd85f67a49f191aa55956d4b82fbfa
6
+ metadata.gz: f64c7e4b3d3acc4a9bc2bc688481d3146210498484931c22a0549494c3d494c198f17dd0457a567ede62fee8838431637e09395804e0735943edb87c32857ebc
7
+ data.tar.gz: 107b562da5049da6b968bd1ada2fc58521b949abcd225b4793d2f36a5d434ec4a9873895ebe6f937bdbdea2a5f25cfeb71c2c66c0f5221082479e9bac4056e35
data/README.md CHANGED
@@ -39,14 +39,15 @@ Or install it yourself as:
39
39
  * [1. Usage](#1-usage)
40
40
  * [2. API](#2-api)
41
41
  * [2.1 spin](#21-spin)
42
- * [2.2 start](#22-start)
43
- * [2.3 stop](#23-stop)
44
- * [2.3.1 success](#231-success)
45
- * [2.3.2 error](#232-error)
46
- * [2.4 run](#24-run)
47
- * [2.5 update](#25-update)
48
- * [2.6 reset](#26-reset)
49
- * [2.7 join](#27-join)
42
+ * [2.2 auto_spin](#22-auto_spin)
43
+ * [2.3 run](#23-run)
44
+ * [2.4 start](#24-start)
45
+ * [2.5 stop](#25-stop)
46
+ * [2.5.1 success](#251-success)
47
+ * [2.5.2 error](#252-error)
48
+ * [2.6 update](#26-update)
49
+ * [2.7 reset](#27-reset)
50
+ * [2.8 join](#28-join)
50
51
  * [3. Configuration](#3-configuration)
51
52
  * [3.1 :format](#31-format)
52
53
  * [3.2 :frames](#32-frames)
@@ -108,17 +109,33 @@ loop do
108
109
  end
109
110
  ```
110
111
 
111
- ### 2.2 start
112
+ ### 2.2 auto_spin
112
113
 
113
- To perform automatic spinning call `start` method like so:
114
+ To perform automatic spinning animation use `auto_spin` method like so:
114
115
 
115
116
  ```ruby
116
- spinner.start
117
+ spinner.auto_spin
117
118
  ```
118
119
 
119
120
  The speed with which the spinning happens is determined by the `:interval` parameter. All the spinner formats have their default intervals specified ([see](https://github.com/piotrmurach/tty-spinner/blob/master/lib/tty/spinner/formats.rb)).
120
121
 
121
- ### 2.3 stop
122
+ ### 2.3 run
123
+
124
+ Use `run` with a code block that will automatically display spinning animation while the block executes and finish animation when the block terminates. Optionally you can provide a stop message to display when animation is finished.
125
+
126
+ ```ruby
127
+ spinner.run('Done!') { ... }
128
+ ```
129
+
130
+ ### 2.4 start
131
+
132
+ In order to set start time or reuse the same spinner after it has stopped, call `start` method:
133
+
134
+ ```ruby
135
+ spinner.start
136
+ ```
137
+
138
+ ### 2.5 stop
122
139
 
123
140
  In order to stop the spinner call `stop`. This will finish drawing the spinning animation and return to new line.
124
141
 
@@ -132,7 +149,7 @@ You can further pass a message to print when animation is finished.
132
149
  spinner.stop('Done!')
133
150
  ```
134
151
 
135
- #### 2.3.1 success
152
+ #### 2.5.1 success
136
153
 
137
154
  Use `success` call to stop the spinning animation and replace the spinning symbol with checkmark character to indicate successful completion.
138
155
 
@@ -147,7 +164,7 @@ This will produce:
147
164
  [✔] Task name (successful)
148
165
  ```
149
166
 
150
- #### 2.3.2 error
167
+ #### 2.5.2 error
151
168
 
152
169
  Use `error` call to stop the spining animation and replace the spinning symbol with cross character to indicate error completion.
153
170
 
@@ -162,15 +179,8 @@ This will produce:
162
179
  [✖] Task name (error)
163
180
  ```
164
181
 
165
- ### 2.4 run
166
-
167
- Use `run` with a code block that will automatically display spinning animation while the block executes and finish animation when the block terminates. Optionally you can provide a stop message to display when animation is finished.
168
-
169
- ```ruby
170
- spinner.run('Done!') { ... }
171
- ```
172
182
 
173
- ### 2.5 update
183
+ ### 2.6 update
174
184
 
175
185
  Use `update` call to dynamically change label name(s).
176
186
 
@@ -200,7 +210,7 @@ spinner.update(title: 'Downloading file2')
200
210
  spinner.run { ... }
201
211
  ```
202
212
 
203
- ### 2.6 reset
213
+ ### 2.7 reset
204
214
 
205
215
  In order to reset the spinner to its initial frame do:
206
216
 
@@ -208,7 +218,7 @@ In order to reset the spinner to its initial frame do:
208
218
  spinner.reset
209
219
  ```
210
220
 
211
- ### 2.7 join
221
+ ### 2.8 join
212
222
 
213
223
  One way to wait while the spinning animates is to join the thread started with `start` method:
214
224
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  module TTY
4
4
  class Spinner
5
- VERSION = "0.3.0"
5
+ VERSION = "0.4.0"
6
6
  end # Spinner
7
7
  end # TTY
data/lib/tty/spinner.rb CHANGED
@@ -128,12 +128,20 @@ module TTY
128
128
  self
129
129
  end
130
130
 
131
- # Start automatic spinning animation
131
+ # Start timer and unlock spinner
132
132
  #
133
133
  # @api public
134
134
  def start
135
135
  @started_at = Time.now
136
136
  @done = false
137
+ reset
138
+ end
139
+
140
+ # Start automatic spinning animation
141
+ #
142
+ # @api public
143
+ def auto_spin
144
+ start
137
145
  sleep_time = 1.0 / @interval
138
146
 
139
147
  @thread = Thread.new do
@@ -155,8 +163,9 @@ module TTY
155
163
  # spinner.run('Migrated DB') { ... }
156
164
  #
157
165
  # @api public
158
- def run(stop_message = nil, &block)
159
- start
166
+ def run(stop_message = '', &block)
167
+ auto_spin
168
+
160
169
  @work = Thread.new(&block)
161
170
  @work.join
162
171
  ensure
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.3.0
4
+ version: 0.4.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: 2016-07-14 00:00:00.000000000 Z
11
+ date: 2016-08-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler