string_dot_gradient 0.3.0 → 0.3.2

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: d6fa81c2c57dbe1b9712438b587127627a24f23e7583b1892328412ebc14031a
4
- data.tar.gz: 2960add227d5e2c678f693da5a6c84269045b286b1d3c37f8426eb66f776f6e0
3
+ metadata.gz: dee7487ec82cd9435b163e3c3659c8147e2e8b6b7cd6b4220888d9ad213a6e5c
4
+ data.tar.gz: 9006ef1191185c26ebef6801c6c33cd3d5fd7ef1371c8924575e82b6055798e9
5
5
  SHA512:
6
- metadata.gz: 63ffc5173183586621b0b98550651b4049875464aa39aa97f5b926e479cfad1b72ca4f63fb4c959a051a7d9552b1f8bfd5b94454318709986784e1b406ed7e33
7
- data.tar.gz: 443780070aabb205c759966136b725cd3d7d2ca4e7f1cf2208407d1553db7e95ce6712fbddba594d5e12b218f8dbd10f48c9a5f1a10481d83e97b2bd7f820aad
6
+ metadata.gz: 89ad6e5d4244d86504367ebf61763feace21fd0fa93d381978ecf7ab865e334029a42535cff4b74213daccdb43b0e66c9cd8771f9bb0af4acbd045ae63bd5418
7
+ data.tar.gz: 84c5f8b2f25a85c2ed0aa94ee902284bafd51e321902ce094043f04e2a7dba64f3bd0eafa428d002ef9e626492d95fa29d79bc8718339e5698a2c553182e76e4
@@ -155,7 +155,11 @@ class String
155
155
  ret = "\e[#{init};2;#{f_r};#{f_g};#{f_b}m#{_c}"
156
156
 
157
157
  if block_given
158
- yield ret
158
+ if style && i == 0
159
+ yield style + ret
160
+ else
161
+ yield ret
162
+ end
159
163
  else
160
164
  temp << ret
161
165
  end
@@ -168,7 +172,11 @@ class String
168
172
  end
169
173
 
170
174
  if block_given
171
- yield ret
175
+ if style
176
+ yield style + ret
177
+ else
178
+ yield ret
179
+ end
172
180
  else
173
181
  temp << ret
174
182
  end
@@ -203,7 +211,8 @@ class String
203
211
  blink: false,
204
212
  strikethrough: false,
205
213
  double_underline: false,
206
- overline: false
214
+ overline: false,
215
+ &block
207
216
  )
208
217
 
209
218
  len = colours.length
@@ -212,6 +221,7 @@ class String
212
221
  div = len - 1
213
222
  div_1 = div - 1
214
223
  ret = ''
224
+ block_given = block_given?
215
225
 
216
226
  params = {
217
227
  exclude_spaces: exclude_spaces,
@@ -222,7 +232,7 @@ class String
222
232
  blink: blink,
223
233
  strikethrough: strikethrough,
224
234
  double_underline: double_underline,
225
- overline: overline
235
+ overline: overline,
226
236
  }
227
237
 
228
238
  each_line { |l|
@@ -238,7 +248,11 @@ class String
238
248
  # colour % len == 0 is very slow approach
239
249
  if counter == len && j < div_1
240
250
  counter, j = 0, j + 1
241
- ret << ch.gradient(c[0], c[1], **params)
251
+ if block_given
252
+ ch.gradient(c[0], c[1], **params, &block)
253
+ else
254
+ ret << ch.gradient(c[0], c[1], **params)
255
+ end
242
256
 
243
257
  c.rotate!
244
258
  ch.clear
@@ -247,10 +261,14 @@ class String
247
261
  ch << x
248
262
  end
249
263
 
250
- ret << ch.gradient(c[0], c[1], **params)
264
+ if block_given
265
+ ch.gradient(c[0], c[1], **params, &block)
266
+ else
267
+ ret << ch.gradient(c[0], c[1], **params)
268
+ end
251
269
  }
252
270
 
253
- ret
271
+ block_given ? nil : ret
254
272
  end
255
273
 
256
274
  private
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module StringDotGradient
4
- VERSION = "0.3.0"
4
+ VERSION = "0.3.2"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: string_dot_gradient
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sourav Goswami