rainbow 2.2.1 → 2.2.2

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: 173113b6696213f239638a808f56033abc5b7467
4
- data.tar.gz: b4794428b131eb7c0d59e3a4d615e211b159b7d9
3
+ metadata.gz: ae78749f89ed058bfe6d143f96ab9140e243a0bc
4
+ data.tar.gz: 0ea8625303c1f3c6668ef9cf05692db0295138a3
5
5
  SHA512:
6
- metadata.gz: 34d9884acf5dfc1af44737a7059a3ab11a274b5cf6517972182c12237e346d0d0ed89f49652dd9ab813408eef275af8dd4df01b8116e0b767d3b91d7da7f7317
7
- data.tar.gz: 9d028c71300949cc03b74fa5869cbeb2e749ce23a4c12ef60501e1fb733cdbb0fa7d0a45f96f3c1e9319f3835ff2ed0fa27c75b7f869c9850e62ba615c1161da
6
+ metadata.gz: 6a4d28dea14c12a91fb545046183a8fe02b1da104f4dd52c59245cb045ce1116b5b2777570a211112f973ccf52d18cea9547ae1f9ce0405e72538d2dceb4237a
7
+ data.tar.gz: 03c7b7197f82cd5974c01458524217cfd000a67cff73962b67440c3c44dfd261c5fa1b160da99110fb618a09b3830d0fac1b9b47e854daa28ee0543ff40856df
@@ -81,3 +81,7 @@
81
81
  # 2.2.1 (2016-12-28)
82
82
 
83
83
  * fixed gem installation (2.2.0 was a broken release)
84
+
85
+ # 2.2.2 (2017-04-21)
86
+
87
+ * added explicit rake dependency to fix installation issue
@@ -38,7 +38,8 @@ Rainbow presenter adds the following methods to presented string:
38
38
  * `blink`
39
39
  * `inverse`
40
40
  * `hide`
41
- * `italic` (not well supported by terminal emulators).
41
+ * `faint` (not well supported by terminal emulators)
42
+ * `italic` (not well supported by terminal emulators)
42
43
 
43
44
  Text color can also be changed by calling a method named by a color:
44
45
 
@@ -181,154 +182,35 @@ gem install rainbow
181
182
 
182
183
  ### ANSI colors
183
184
 
184
- * `black`
185
- * `red`
186
- * `green`
187
- * `yellow`
188
- * `blue`
189
- * `magenta`
190
- * `cyan`
191
- * `white`
185
+ `black`, `red`, `green`, `yellow`, `blue`, `magenta`, `cyan`, `white`
192
186
 
193
187
  ### X11 colors
194
188
 
195
- * `aqua`
196
- * `aquamarine`
197
- * `mediumaquamarine`
198
- * `azure`
199
- * `beige`
200
- * `bisque`
201
- * `blanchedalmond`
202
- * `darkblue`
203
- * `lightblue`
204
- * `mediumblue`
205
- * `aliceblue`
206
- * `cadetblue`
207
- * `dodgerblue`
208
- * `midnightblue`
209
- * `navyblue`
210
- * `powderblue`
211
- * `royalblue`
212
- * `skyblue`
213
- * `deepskyblue`
214
- * `lightskyblue`
215
- * `slateblue`
216
- * `darkslateblue`
217
- * `mediumslateblue`
218
- * `steelblue`
219
- * `lightsteelblue`
220
- * `brown`
221
- * `rosybrown`
222
- * `saddlebrown`
223
- * `sandybrown`
224
- * `burlywood`
225
- * `chartreuse`
226
- * `chocolate`
227
- * `coral`
228
- * `lightcoral`
229
- * `cornflower`
230
- * `cornsilk`
231
- * `crimson`
232
- * `darkcyan`
233
- * `lightcyan`
234
- * `firebrick`
235
- * `fuchsia`
236
- * `gainsboro`
237
- * `gold`
238
- * `goldenrod`
239
- * `darkgoldenrod`
240
- * `lightgoldenrod`
241
- * `palegoldenrod`
242
- * `gray`
243
- * `darkgray`
244
- * `dimgray`
245
- * `lightgray`
246
- * `slategray`
247
- * `lightslategray`
248
- * `webgray`
249
- * `darkgreen`
250
- * `lightgreen`
251
- * `palegreen`
252
- * `darkolivegreen`
253
- * `yellowgreen`
254
- * `forestgreen`
255
- * `lawngreen`
256
- * `limegreen`
257
- * `seagreen`
258
- * `darkseagreen`
259
- * `lightseagreen`
260
- * `mediumseagreen`
261
- * `springgreen`
262
- * `mediumspringgreen`
263
- * `webgreen`
264
- * `honeydew`
265
- * `indianred`
266
- * `indigo`
267
- * `ivory`
268
- * `khaki`
269
- * `darkkhaki`
270
- * `lavender`
271
- * `lavenderblush`
272
- * `lemonchiffon`
273
- * `lime`
274
- * `linen`
275
- * `darkmagenta`
276
- * `maroon`
277
- * `webmaroon`
278
- * `mintcream`
279
- * `mistyrose`
280
- * `moccasin`
281
- * `oldlace`
282
- * `olive`
283
- * `olivedrab`
284
- * `orange`
285
- * `darkorange`
286
- * `orchid`
287
- * `darkorchid`
288
- * `mediumorchid`
289
- * `papayawhip`
290
- * `peachpuff`
291
- * `peru`
292
- * `pink`
293
- * `deeppink`
294
- * `lightpink`
295
- * `hotpink`
296
- * `plum`
297
- * `purple`
298
- * `mediumpurple`
299
- * `rebeccapurple`
300
- * `webpurple`
301
- * `darkred`
302
- * `orangered`
303
- * `mediumvioletred`
304
- * `palevioletred`
305
- * `salmon`
306
- * `darksalmon`
307
- * `lightsalmon`
308
- * `seashell`
309
- * `sienna`
310
- * `silver`
311
- * `darkslategray`
312
- * `snow`
313
- * `tan`
314
- * `teal`
315
- * `thistle`
316
- * `tomato`
317
- * `turquoise`
318
- * `darkturquoise`
319
- * `mediumturquoise`
320
- * `paleturquoise`
321
- * `violet`
322
- * `darkviolet`
323
- * `blueviolet`
324
- * `wheat`
325
- * `antiquewhite`
326
- * `floralwhite`
327
- * `ghostwhite`
328
- * `navajowhite`
329
- * `whitesmoke`
330
- * `lightyellow`
331
- * `greenyellow`
189
+ `aliceblue`, `antiquewhite`, `aqua`, `aquamarine`, `azure`, `beige`, `bisque`,
190
+ `blanchedalmond`, `blueviolet`, `brown`, `burlywood`, `cadetblue`, `chartreuse`,
191
+ `chocolate`, `coral`, `cornflower`, `cornsilk`, `crimson`, `darkblue`,
192
+ `darkcyan`, `darkgoldenrod`, `darkgray`, `darkgreen`, `darkkhaki`,
193
+ `darkmagenta`, `darkolivegreen`, `darkorange`, `darkorchid`, `darkred`,
194
+ `darksalmon`, `darkseagreen`, `darkslateblue`, `darkslategray`, `darkturquoise`,
195
+ `darkviolet`, `deeppink`, `deepskyblue`, `dimgray`, `dodgerblue`, `firebrick`,
196
+ `floralwhite`, `forestgreen`, `fuchsia`, `gainsboro`, `ghostwhite`, `gold`,
197
+ `goldenrod`, `gray`, `greenyellow`, `honeydew`, `hotpink`, `indianred`,
198
+ `indigo`, `ivory`, `khaki`, `lavender`, `lavenderblush`, `lawngreen`,
199
+ `lemonchiffon`, `lightblue`, `lightcoral`, `lightcyan`, `lightgoldenrod`,
200
+ `lightgray`, `lightgreen`, `lightpink`, `lightsalmon`, `lightseagreen`,
201
+ `lightskyblue`, `lightslategray`, `lightsteelblue`, `lightyellow`, `lime`,
202
+ `limegreen`, `linen`, `maroon`, `mediumaquamarine`, `mediumblue`,
203
+ `mediumorchid`, `mediumpurple`, `mediumseagreen`, `mediumslateblue`,
204
+ `mediumspringgreen`, `mediumturquoise`, `mediumvioletred`, `midnightblue`,
205
+ `mintcream`, `mistyrose`, `moccasin`, `navajowhite`, `navyblue`, `oldlace`,
206
+ `olive`, `olivedrab`, `orange`, `orangered`, `orchid`, `palegoldenrod`,
207
+ `palegreen`, `paleturquoise`, `palevioletred`, `papayawhip`, `peachpuff`,
208
+ `peru`, `pink`, `plum`, `powderblue`, `purple`, `rebeccapurple`, `rosybrown`,
209
+ `royalblue`, `saddlebrown`, `salmon`, `sandybrown`, `seagreen`, `seashell`,
210
+ `sienna`, `silver`, `skyblue`, `slateblue`, `slategray`, `snow`, `springgreen`,
211
+ `steelblue`, `tan`, `teal`, `thistle`, `tomato`, `turquoise`, `violet`,
212
+ `webgray`, `webgreen`, `webmaroon`, `webpurple`, `wheat`, `whitesmoke`,
213
+ `yellowgreen`
332
214
 
333
215
  ## Authors
334
216
 
@@ -12,7 +12,12 @@ module Rainbow
12
12
  color = values.size == 1 ? values.first : values
13
13
 
14
14
  case color
15
- when Integer
15
+ # NOTE: Properly handle versions before/after Ruby 2.4.0.
16
+ # Ruby 2.4+ unifies Fixnum & Bignum into Integer.
17
+ # However previous versions would still use Fixnum.
18
+ # To avoid missing `Fixnum` input, call `0.class` which would
19
+ # return either `Integer` or `Fixnum`.
20
+ when 0.class
16
21
  Indexed.new(ground, color)
17
22
  when Symbol
18
23
  if Named.color_names.include?(color)
@@ -24,6 +24,10 @@ module Rainbow
24
24
  Rainbow(self).bright
25
25
  end
26
26
 
27
+ def faint
28
+ Rainbow(self).faint
29
+ end
30
+
27
31
  def italic
28
32
  Rainbow(self).italic
29
33
  end
@@ -6,6 +6,7 @@ module Rainbow
6
6
  def background(*values); self; end
7
7
  def reset; self; end
8
8
  def bright; self; end
9
+ def faint; self; end
9
10
  def italic; self; end
10
11
  def underline; self; end
11
12
  def blink; self; end
@@ -32,6 +33,8 @@ module Rainbow
32
33
  alias_method :foreground, :color
33
34
  alias_method :fg, :color
34
35
  alias_method :bg, :background
36
+ alias_method :bold, :bright
37
+ alias_method :dark, :faint
35
38
 
36
39
  end
37
40
 
@@ -9,6 +9,7 @@ module Rainbow
9
9
  TERM_EFFECTS = {
10
10
  reset: 0,
11
11
  bright: 1,
12
+ faint: 2,
12
13
  italic: 3,
13
14
  underline: 4,
14
15
  blink: 5,
@@ -46,6 +47,14 @@ module Rainbow
46
47
 
47
48
  alias_method :bold, :bright
48
49
 
50
+ # Turns on faint/dark for this text (not well supported by terminal
51
+ # emulators).
52
+ def faint
53
+ wrap_with_sgr(TERM_EFFECTS[:faint])
54
+ end
55
+
56
+ alias_method :dark, :faint
57
+
49
58
  # Turns on italic style for this text (not well supported by terminal
50
59
  # emulators).
51
60
  def italic
@@ -1,3 +1,3 @@
1
1
  module Rainbow
2
- VERSION = "2.2.1".freeze
2
+ VERSION = "2.2.2".freeze
3
3
  end
@@ -19,6 +19,8 @@ Gem::Specification.new do |spec|
19
19
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
20
20
  spec.require_paths = ["lib"]
21
21
 
22
+ spec.add_dependency "rake"
23
+
22
24
  spec.add_development_dependency "bundler", "~> 1.3"
23
25
  spec.extensions = ["ext/mkrf_conf.rb"]
24
26
  end
@@ -77,6 +77,11 @@ describe 'Rainbow() wrapper' do
77
77
  expect(result).to eq("\e[1mhello\e[0m")
78
78
  end
79
79
 
80
+ it 'allows making text faint' do
81
+ result = Rainbow('hello').faint
82
+ expect(result).to eq("\e[2mhello\e[0m")
83
+ end
84
+
80
85
  it 'allows making text italic' do
81
86
  result = Rainbow('hello').italic
82
87
  expect(result).to eq("\e[3mhello\e[0m")
@@ -111,6 +116,9 @@ describe 'Rainbow() wrapper' do
111
116
  result = Rainbow('hello').
112
117
  foreground(:red).
113
118
  bright.
119
+ bold.
120
+ faint.
121
+ dark.
114
122
  italic.
115
123
  background('#ff8040').
116
124
  underline.
@@ -120,7 +128,7 @@ describe 'Rainbow() wrapper' do
120
128
  hide
121
129
 
122
130
  expect(result).to eq(
123
- "\e[31m\e[1m\e[3m\e[48;5;215m\e[4m\e[34m\e[5m\e[7m\e[8mhello\e[0m"
131
+ "\e[31m\e[1m\e[1m\e[2m\e[2m\e[3m\e[48;5;215m\e[4m\e[34m\e[5m\e[7m\e[8mhello\e[0m"
124
132
  )
125
133
  end
126
134
 
@@ -134,6 +142,9 @@ describe 'Rainbow() wrapper' do
134
142
  result = Rainbow('hello').
135
143
  foreground(:red).
136
144
  bright.
145
+ bold.
146
+ faint.
147
+ dark.
137
148
  italic.
138
149
  background('#ff8040').
139
150
  underline.
@@ -31,6 +31,10 @@ describe 'String mixin' do
31
31
  expect('hello'.bright).to eq(Rainbow('hello').bright)
32
32
  end
33
33
 
34
+ it 'proxies faint to Rainbow().faint' do
35
+ expect('hello'.faint).to eq(Rainbow('hello').faint)
36
+ end
37
+
34
38
  it 'proxies italic to Rainbow().italic' do
35
39
  expect('hello'.italic).to eq(Rainbow('hello').italic)
36
40
  end
@@ -58,6 +58,24 @@ module Rainbow
58
58
  it_behaves_like "rainbow null string method"
59
59
  end
60
60
 
61
+ describe '#bold' do
62
+ subject { presenter.bold }
63
+
64
+ it_behaves_like "rainbow null string method"
65
+ end
66
+
67
+ describe '#faint' do
68
+ subject { presenter.faint }
69
+
70
+ it_behaves_like "rainbow null string method"
71
+ end
72
+
73
+ describe '#dark' do
74
+ subject { presenter.dark }
75
+
76
+ it_behaves_like "rainbow null string method"
77
+ end
78
+
61
79
  describe '#italic' do
62
80
  subject { presenter.italic }
63
81
 
@@ -117,6 +117,28 @@ module Rainbow
117
117
  end
118
118
  end
119
119
 
120
+ describe '#faint' do
121
+ subject { presenter.faint }
122
+
123
+ it_behaves_like "rainbow string method"
124
+
125
+ it 'wraps with 2 code' do
126
+ subject
127
+ expect(StringUtils).to have_received(:wrap_with_sgr).with('hello', [2])
128
+ end
129
+ end
130
+
131
+ describe '#dark' do
132
+ subject { presenter.dark }
133
+
134
+ it_behaves_like "rainbow string method"
135
+
136
+ it 'wraps with 2 code' do
137
+ subject
138
+ expect(StringUtils).to have_received(:wrap_with_sgr).with('hello', [2])
139
+ end
140
+ end
141
+
120
142
  describe '#italic' do
121
143
  subject { presenter.italic }
122
144
 
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rainbow
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.1
4
+ version: 2.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marcin Kulik
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-12-28 00:00:00.000000000 Z
11
+ date: 2017-04-21 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rake
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '>='
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: bundler
15
29
  requirement: !ruby/object:Gem::Requirement