decolmor 1.0.0 → 1.2.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.
@@ -1,7 +1,20 @@
1
1
  load_class(__FILE__)
2
2
 
3
3
  RSpec.describe Decolmor do
4
- describe 'you can set rounding globally for convert to HSL/HSV/HSB/CMYK' do
4
+
5
+ describe 'we can include the module into the class' do
6
+ let(:dummy_class) { Class.new { include Decolmor } }
7
+
8
+ it "class contains the module Decolmor" do
9
+ expect( dummy_class.include?(Decolmor) ).to eq true
10
+ end
11
+
12
+ it "methods will be available into our class as class methods" do
13
+ expect { dummy_class.hsx_round = 3 }.to change { dummy_class.hsx_round }.from(1).to(3)
14
+ end
15
+ end
16
+
17
+ describe 'we can set rounding globally for convert to HSL/HSV/HSB/CMYK' do
5
18
  after(:each) do
6
19
  Decolmor.hsx_round = 1
7
20
  end
@@ -9,15 +22,14 @@ RSpec.describe Decolmor do
9
22
  let(:colors) { FactoryBot.build(:colors_map, round: 2) }
10
23
 
11
24
  it ".hsx_round by default 1" do
12
- expect( Decolmor::hsx_round ).to eq 1
25
+ expect( Decolmor.hsx_round ).to eq 1
13
26
  end
14
27
 
15
28
  it ".hsx_round= changes hsx_round" do
16
- expect { Decolmor::hsx_round = 2 }.to change { Decolmor.hsx_round }.from(1).to(2)
29
+ expect { Decolmor.hsx_round = 2 }.to change { Decolmor.hsx_round }.from(1).to(2)
17
30
  end
18
31
  end
19
32
 
20
-
21
33
  context 'HEX <==> RGB(A)' do
22
34
  describe ".hex_to_rgb" do
23
35
  let(:colors) { FactoryBot.build(:colors_map) }
@@ -25,24 +37,42 @@ RSpec.describe Decolmor do
25
37
 
26
38
  it "HEX w prefix # to RGB" do
27
39
  colors.each_pair do |hex, values|
28
- expect( Decolmor::hex_to_rgb(hex) ).to eq values[:rgb]
40
+ expect( Decolmor.hex_to_rgb(hex) ).to eq values[:rgb]
29
41
  end
30
42
  end
31
43
 
32
44
  it "HEX w/o prefix # to RGB" do
33
45
  colors.each_pair do |hex, values|
34
46
  hex = hex.delete('#')
35
- expect( Decolmor::hex_to_rgb(hex) ).to eq values[:rgb]
47
+ expect( Decolmor.hex_to_rgb(hex) ).to eq values[:rgb]
36
48
  end
37
49
  end
38
50
 
39
51
  it "HEX w alpha channel and prefix # to RGBA" do
40
- docs "alpha into range 0..1 and rounding 5"
52
+ docs "alpha into range 0..1 and rounding 3"
41
53
  color = colors.keys.sample
42
54
  alphas.each_pair do |hex_alpha, alpha|
43
55
  hex = format('%s%s', color, hex_alpha)
44
56
  rgba = colors[color][:rgb] + [alpha[:rgb]]
45
- expect( Decolmor::hex_to_rgb(hex) ).to eq rgba
57
+ expect( Decolmor.hex_to_rgb(hex) ).to eq rgba
58
+ end
59
+ end
60
+
61
+ it "set rounding for alpha channel" do
62
+ color = colors.keys.sample
63
+ alphas.each_pair do |hex_alpha, alpha|
64
+ rounding = 2
65
+ hex = format('%s%s', color, hex_alpha)
66
+ rgba = colors[color][:rgb] + [alpha[:rgb].round(rounding)]
67
+ expect( Decolmor.hex_to_rgb(hex, rounding) ).to eq rgba
68
+ end
69
+ end
70
+
71
+ it "set range 0..255 for alpha channel" do
72
+ color = colors.keys.sample
73
+ alphas.each_pair do |hex_alpha, alpha|
74
+ hex = format('%s%s', color, hex_alpha)
75
+ expect( Decolmor.hex_to_rgb(hex, alpha_255: true).last ).to eq alpha[:rgb_255]
46
76
  end
47
77
  end
48
78
 
@@ -52,7 +82,15 @@ RSpec.describe Decolmor do
52
82
  alphas.each_pair do |hex_alpha, alpha|
53
83
  hex = format('%s%s', color, hex_alpha).delete('#')
54
84
  rgba = colors[color][:rgb] + [alpha[:rgb]]
55
- expect( Decolmor::hex_to_rgb(hex) ).to eq rgba
85
+ expect( Decolmor.hex_to_rgb(hex) ).to eq rgba
86
+ end
87
+ end
88
+
89
+ it "HEX short version to RGB(A)" do
90
+ colors = {'6FC' => [102, 255, 204], '#9C3' => [153, 204, 51], '36FF' => [51, 102, 255, 1]}
91
+
92
+ colors.each_pair do |hex_short, rgb|
93
+ expect( Decolmor.hex_to_rgb(hex_short) ).to eq rgb
56
94
  end
57
95
  end
58
96
  end
@@ -63,17 +101,27 @@ RSpec.describe Decolmor do
63
101
 
64
102
  it "RGB converts to HEX" do
65
103
  colors.each_pair do |hex, values|
66
- expect( Decolmor::rgb_to_hex(values[:rgb]) ).to eq hex
104
+ expect( Decolmor.rgb_to_hex(values[:rgb]) ).to eq hex
67
105
  end
68
106
  end
69
107
 
70
108
  it "RGBA converts to HEX w alpha" do
71
109
  color = colors.keys.sample
72
110
 
73
- alphas.each_pair do |hex, alpha|
74
- hex = format('%s%s', color, hex)
111
+ alphas.each_pair do |hex_alpha, alpha|
112
+ hex = format('%s%s', color, hex_alpha)
75
113
  rgba = colors[color][:rgb] + [alpha[:rgb]]
76
- expect( Decolmor::rgb_to_hex(rgba) ).to eq hex
114
+ expect( Decolmor.rgb_to_hex(rgba) ).to eq hex
115
+ end
116
+ end
117
+
118
+ it "set range 0..255 for alpha channel" do
119
+ color = colors.keys.sample
120
+
121
+ alphas.each_pair do |hex_alpha, alpha|
122
+ hex = format('%s%s', color, hex_alpha)
123
+ rgba = colors[color][:rgb] + [alpha[:rgb_255]]
124
+ expect( Decolmor.rgb_to_hex(rgba, alpha_255: true) ).to eq hex
77
125
  end
78
126
  end
79
127
  end
@@ -84,7 +132,7 @@ RSpec.describe Decolmor do
84
132
  describe ".new_rgb" do
85
133
  it "generate RGB with values into range 0..255" do
86
134
  100.times do
87
- expect( Decolmor::new_rgb ).to all( be_between(0, 255) )
135
+ expect( Decolmor.new_rgb ).to all( be_between(0, 255) )
88
136
  end
89
137
  end
90
138
 
@@ -93,10 +141,10 @@ RSpec.describe Decolmor do
93
141
  color = {red: 72, green: 209, blue: 204, alpha: 244}
94
142
  # set and check each channel separately
95
143
  color.each_with_index do |(key, value), index|
96
- expect( Decolmor::new_rgb(**{key => value})[index] ).to eq value
144
+ expect( Decolmor.new_rgb(**{key => value})[index] ).to eq value
97
145
  end
98
146
  # set all channels
99
- expect( Decolmor::new_rgb(**color) ).to eq color.values
147
+ expect( Decolmor.new_rgb(**color) ).to eq color.values
100
148
  end
101
149
  end
102
150
  end
@@ -109,32 +157,32 @@ RSpec.describe Decolmor do
109
157
 
110
158
  it "RGB converts to HSL" do
111
159
  colors.each_pair do |hex, values|
112
- expect( Decolmor::rgb_to_hsl(values[:rgb]) ).to eq values[:hsl]
160
+ expect( Decolmor.rgb_to_hsl(values[:rgb]) ).to eq values[:hsl]
113
161
  end
114
162
  end
115
163
 
116
164
  it "alpha channel pass to HSL unchanged" do
117
165
  color = colors.keys.sample
118
- alphas.each_pair do |hex_, alpha|
166
+ alphas.each_pair do |_hex_alpha, alpha|
119
167
  rgba = colors[color][:rgb] + [alpha[:rgb]]
120
- expect( Decolmor::rgb_to_hsl(rgba).last ).to eq alpha[:rgb]
168
+ expect( Decolmor.rgb_to_hsl(rgba).last ).to eq alpha[:rgb]
121
169
  end
122
170
  end
123
171
 
124
172
  it "you can set rounding for resulting HSL values (default = 1)" do
125
173
  docs "round 1 enough for a lossless conversion RGB -> HSL/HSV/HSB -> RGB"
126
174
  colors.each_pair do |hex, values|
127
- expect( Decolmor::rgb_to_hsl(values[:rgb], 0) ).to eq values[:hsl].map(&:round)
175
+ expect( Decolmor.rgb_to_hsl(values[:rgb], 0) ).to eq values[:hsl].map(&:round)
128
176
  end
129
177
  end
130
178
 
131
179
  it "setting rounding doesn't affect alpha channel" do
132
180
  color = colors.keys.sample
133
- alphas.each_pair do |hex_, alpha|
181
+ alphas.each_pair do |_hex_alpha, alpha|
134
182
  rgba = colors[color][:rgb] + [alpha[:rgb]]
135
183
  # alpha shouldn't be rounded because its range is 0..1
136
184
  # if that did happen, we would get 0 or 1 instead of the normal value
137
- expect( Decolmor::rgb_to_hsl(rgba, 0).last ).to eq alpha[:rgb]
185
+ expect( Decolmor.rgb_to_hsl(rgba, 0).last ).to eq alpha[:rgb]
138
186
  end
139
187
  end
140
188
  end
@@ -146,36 +194,36 @@ RSpec.describe Decolmor do
146
194
 
147
195
  it "RGB converts to HSV" do
148
196
  colors.each_pair do |hex, values|
149
- expect( Decolmor::rgb_to_hsv(values[:rgb]) ).to eq values[:hsv]
197
+ expect( Decolmor.rgb_to_hsv(values[:rgb]) ).to eq values[:hsv]
150
198
  end
151
199
  end
152
200
 
153
201
  it "alpha channel pass to HSV unchanged" do
154
202
  color = colors.keys.sample
155
- alphas.each_pair do |hex_, alpha|
203
+ alphas.each_pair do |_hex_alpha, alpha|
156
204
  rgba = colors[color][:rgb] + [alpha[:rgb]]
157
- expect( Decolmor::rgb_to_hsv(rgba).last ).to eq alpha[:rgb]
205
+ expect( Decolmor.rgb_to_hsv(rgba).last ).to eq alpha[:rgb]
158
206
  end
159
207
  end
160
208
 
161
209
  it "you can set rounding for resulting HSV values (default = 1)" do
162
210
  colors_round_2.each_pair do |hex, values|
163
- expect( Decolmor::rgb_to_hsv(values[:rgb], 0) ).to eq values[:hsv].map(&:round)
211
+ expect( Decolmor.rgb_to_hsv(values[:rgb], 0) ).to eq values[:hsv].map(&:round)
164
212
  end
165
213
  end
166
214
 
167
215
  it "setting rounding doesn't affect alpha channel" do
168
216
  color = colors.keys.sample
169
- alphas.each_pair do |hex_, alpha|
217
+ alphas.each_pair do |_hex_alpha, alpha|
170
218
  rgba = colors[color][:rgb] + [alpha[:rgb]]
171
- expect( Decolmor::rgb_to_hsv(rgba, 0).last ).to eq alpha[:rgb]
219
+ expect( Decolmor.rgb_to_hsv(rgba, 0).last ).to eq alpha[:rgb]
172
220
  end
173
221
  end
174
222
  end
175
223
 
176
224
  describe ".rgb_to_hsb" do
177
225
  it "alias .rgb_to_hsv" do
178
- expect( subject.method(:rgb_to_hsb ).original_name).to eq(:rgb_to_hsv)
226
+ expect( Decolmor.method(:rgb_to_hsb ).original_name).to eq(:rgb_to_hsv)
179
227
  end
180
228
  end
181
229
  end
@@ -187,16 +235,16 @@ RSpec.describe Decolmor do
187
235
  let(:alphas) { FactoryBot.build(:alpha) }
188
236
 
189
237
  it "HSL converts to RGB" do
190
- colors.each_pair do |hex, values|
191
- expect( Decolmor::hsl_to_rgb(values[:hsl]) ).to eq values[:rgb]
238
+ colors.each_pair do |_hex, values|
239
+ expect( Decolmor.hsl_to_rgb(values[:hsl]) ).to eq values[:rgb]
192
240
  end
193
241
  end
194
242
 
195
243
  it "alpha channel pass to RGB unchanged" do
196
244
  color = colors.keys.sample
197
- alphas.each_pair do |hex_, values|
245
+ alphas.each_pair do |_hex_alpha, values|
198
246
  hsla = colors[color][:hsl] + [values[:rgb]]
199
- expect( Decolmor::hsl_to_rgb(hsla).last ).to eq values[:rgb]
247
+ expect( Decolmor.hsl_to_rgb(hsla).last ).to eq values[:rgb]
200
248
  end
201
249
  end
202
250
  end
@@ -206,23 +254,23 @@ RSpec.describe Decolmor do
206
254
  let(:alphas) { FactoryBot.build(:alpha) }
207
255
 
208
256
  it "HSV converts to RGB" do
209
- colors.each_pair do |hex, values|
210
- expect( Decolmor::hsv_to_rgb(values[:hsv]) ).to eq values[:rgb]
257
+ colors.each_pair do |_hex, values|
258
+ expect( Decolmor.hsv_to_rgb(values[:hsv]) ).to eq values[:rgb]
211
259
  end
212
260
  end
213
261
 
214
262
  it "alpha channel pass to RGB unchanged" do
215
263
  color = colors.keys.sample
216
- alphas.each_pair do |hex_, values|
264
+ alphas.each_pair do |_hex_alpha, values|
217
265
  hsva = colors[color][:hsv] + [values[:rgb]]
218
- expect( Decolmor::hsv_to_rgb(hsva).last ).to eq values[:rgb]
266
+ expect( Decolmor.hsv_to_rgb(hsva).last ).to eq values[:rgb]
219
267
  end
220
268
  end
221
269
  end
222
270
 
223
271
  describe ".hsb_to_rgb" do
224
272
  it "alias .hsv_to_rgb" do
225
- expect( subject.method(:hsb_to_rgb ).original_name).to eq(:hsv_to_rgb)
273
+ expect( Decolmor.method(:hsb_to_rgb ).original_name).to eq(:hsv_to_rgb)
226
274
  end
227
275
  end
228
276
  end
@@ -234,16 +282,24 @@ RSpec.describe Decolmor do
234
282
  let(:alphas) { FactoryBot.build(:alpha) }
235
283
 
236
284
  it "HSL converts to RGB" do
237
- colors.each_pair do |hex, values|
238
- expect( Decolmor::hsl_to_rgb_alt(values[:hsl]) ).to eq values[:rgb]
285
+ colors.each_pair do |_hex, values|
286
+ expect( Decolmor.hsl_to_rgb_alt(values[:hsl]) ).to eq values[:rgb]
239
287
  end
240
288
  end
241
289
 
242
290
  it "alpha channel pass to RGB unchanged" do
243
291
  color = colors.keys.sample
244
- alphas.each_pair do |hex_, values|
292
+ alphas.each_pair do |_hex_alpha, values|
245
293
  hsla = colors[color][:hsl] + [values[:rgb]]
246
- expect( Decolmor::hsl_to_rgb_alt(hsla).last ).to eq values[:rgb]
294
+ expect( Decolmor.hsl_to_rgb_alt(hsla).last ).to eq values[:rgb]
295
+ end
296
+ end
297
+
298
+ it "if hue not a range member 0..360 return identical RGB values (colorless)" do
299
+ colors.each_pair do |hex, values|
300
+ hsl = values[:hsl]
301
+ hsl[0] += 360
302
+ expect( Decolmor.hsl_to_rgb_alt(hsl).uniq.size ).to eq 1
247
303
  end
248
304
  end
249
305
  end
@@ -253,23 +309,31 @@ RSpec.describe Decolmor do
253
309
  let(:alphas) { FactoryBot.build(:alpha) }
254
310
 
255
311
  it "HSV converts to RGB" do
256
- colors.each_pair do |hex, values|
257
- expect( Decolmor::hsv_to_rgb_alt(values[:hsv]) ).to eq values[:rgb]
312
+ colors.each_pair do |_hex, values|
313
+ expect( Decolmor.hsv_to_rgb_alt(values[:hsv]) ).to eq values[:rgb]
258
314
  end
259
315
  end
260
316
 
261
317
  it "alpha channel pass to RGB unchanged" do
262
318
  color = colors.keys.sample
263
- alphas.each_pair do |hex_, values|
319
+ alphas.each_pair do |_hex_alpha, values|
264
320
  hsva = colors[color][:hsv] + [values[:rgb]]
265
- expect( Decolmor::hsv_to_rgb_alt(hsva).last ).to eq values[:rgb]
321
+ expect( Decolmor.hsv_to_rgb_alt(hsva).last ).to eq values[:rgb]
322
+ end
323
+ end
324
+
325
+ it "if hue not a range member 0..360 return identical RGB values (colorless)" do
326
+ colors.each_pair do |_hex, values|
327
+ hsl = values[:hsl]
328
+ hsl[0] -= 360
329
+ expect( Decolmor.hsl_to_rgb_alt(hsl).uniq.size ).to eq 1
266
330
  end
267
331
  end
268
332
  end
269
333
 
270
334
  describe ".hsb_to_rgb_alt" do
271
335
  it "alias .hsv_to_rgb_alt" do
272
- expect( subject.method(:hsb_to_rgb_alt ).original_name).to eq(:hsv_to_rgb_alt)
336
+ expect( Decolmor.method(:hsb_to_rgb_alt ).original_name).to eq(:hsv_to_rgb_alt)
273
337
  end
274
338
  end
275
339
  end
@@ -284,36 +348,36 @@ RSpec.describe Decolmor do
284
348
  it "HSL converts to HSV" do
285
349
  colors.each_pair do |hex_, values|
286
350
  hsv = values[:hsv].map { |value| value.round(1) }
287
- expect( Decolmor::hsl_to_hsv(values[:hsl]) ).to eq hsv
351
+ expect( Decolmor.hsl_to_hsv(values[:hsl]) ).to eq hsv
288
352
  end
289
353
  end
290
354
 
291
355
  it "alpha channel pass to HSV unchanged" do
292
356
  color = colors.keys.sample
293
- alphas.each_pair do |hex_, alpha|
357
+ alphas.each_pair do |_hex_alpha, alpha|
294
358
  hsla = colors[color][:hsl] + [alpha[:rgb]]
295
- expect( Decolmor::hsl_to_hsv(hsla).last ).to eq alpha[:rgb]
359
+ expect( Decolmor.hsl_to_hsv(hsla).last ).to eq alpha[:rgb]
296
360
  end
297
361
  end
298
362
 
299
363
  it "you can set rounding for resulting HSV values (default = 1)" do
300
- colors.each_pair do |hex, values|
301
- expect( Decolmor::hsl_to_hsv(values[:hsl], 0) ).to eq values[:hsv].map(&:round)
364
+ colors.each_pair do |_hex, values|
365
+ expect( Decolmor.hsl_to_hsv(values[:hsl], 0) ).to eq values[:hsv].map(&:round)
302
366
  end
303
367
  end
304
368
 
305
369
  it "setting rounding doesn't affect alpha channel" do
306
370
  color = colors.keys.sample
307
- alphas.each_pair do |hex_, alpha|
371
+ alphas.each_pair do |_hex_alpha, alpha|
308
372
  hsla = colors[color][:hsl] + [alpha[:rgb]]
309
- expect( Decolmor::hsl_to_hsv(hsla, 0).last ).to eq alpha[:rgb]
373
+ expect( Decolmor.hsl_to_hsv(hsla, 0).last ).to eq alpha[:rgb]
310
374
  end
311
375
  end
312
376
  end
313
377
 
314
378
  describe ".hsl_to_hsb" do
315
379
  it "alias .hsl_to_hsv" do
316
- expect( subject.method(:hsl_to_hsb).original_name ).to eq(:hsl_to_hsv)
380
+ expect( Decolmor.method(:hsl_to_hsb).original_name ).to eq(:hsl_to_hsv)
317
381
  end
318
382
  end
319
383
 
@@ -323,38 +387,38 @@ RSpec.describe Decolmor do
323
387
  let(:alphas) { FactoryBot.build(:alpha) }
324
388
 
325
389
  it "HSV converts to HSL" do
326
- colors.each_pair do |hex_, values|
390
+ colors.each_pair do |_hex, values|
327
391
  hsl = values[:hsl].map { |value| value.round(1) }
328
- expect( Decolmor::hsv_to_hsl(values[:hsv]) ).to eq hsl
392
+ expect( Decolmor.hsv_to_hsl(values[:hsv]) ).to eq hsl
329
393
  end
330
394
  end
331
395
 
332
396
  it "alpha channel pass to HSL unchanged" do
333
397
  color = colors.keys.sample
334
- alphas.each_pair do |hex_, alpha|
398
+ alphas.each_pair do |_hex_alpha, alpha|
335
399
  hsva = colors[color][:hsv] + [alpha[:rgb]]
336
- expect( Decolmor::hsv_to_hsl(hsva).last ).to eq alpha[:rgb]
400
+ expect( Decolmor.hsv_to_hsl(hsva).last ).to eq alpha[:rgb]
337
401
  end
338
402
  end
339
403
 
340
404
  it "you can set rounding for resulting HSL values (default = 1)" do
341
- colors.each_pair do |hex, values|
342
- expect( Decolmor::hsv_to_hsl(values[:hsv], 0) ).to eq values[:hsl].map(&:round)
405
+ colors.each_pair do |_hex, values|
406
+ expect( Decolmor.hsv_to_hsl(values[:hsv], 0) ).to eq values[:hsl].map(&:round)
343
407
  end
344
408
  end
345
409
 
346
410
  it "setting rounding doesn't affect alpha channel" do
347
411
  color = colors.keys.sample
348
- alphas.each_pair do |hex_, alpha|
412
+ alphas.each_pair do |_hex, alpha|
349
413
  hsva = colors[color][:hsv] + [alpha[:rgb]]
350
- expect( Decolmor::hsv_to_hsl(hsva, 0).last ).to eq alpha[:rgb]
414
+ expect( Decolmor.hsv_to_hsl(hsva, 0).last ).to eq alpha[:rgb]
351
415
  end
352
416
  end
353
417
  end
354
418
 
355
419
  describe ".hsb_to_hsl" do
356
420
  it "alias .hsv_to_hsl" do
357
- expect( subject.method(:hsb_to_hsl).original_name ).to eq(:hsv_to_hsl)
421
+ expect( Decolmor.method(:hsb_to_hsl).original_name ).to eq(:hsv_to_hsl)
358
422
  end
359
423
  end
360
424
  end
@@ -369,29 +433,29 @@ RSpec.describe Decolmor do
369
433
  colors.each_pair do |hex_, values|
370
434
 
371
435
  cmyk = values[:cmyk].map {|arr| arr.round(1) }
372
- expect( Decolmor::rgb_to_cmyk(values[:rgb]) ).to eq cmyk
436
+ expect( Decolmor.rgb_to_cmyk(values[:rgb]) ).to eq cmyk
373
437
  end
374
438
  end
375
439
 
376
440
  it "alpha channel pass to HSL unchanged" do
377
441
  color = colors.keys.sample
378
- alphas.each_pair do |hex_, alpha|
442
+ alphas.each_pair do |_hex_alpha, alpha|
379
443
  rgba = colors[color][:rgb] + [alpha[:rgb]]
380
- expect( Decolmor::rgb_to_cmyk(rgba).last ).to eq alpha[:rgb]
444
+ expect( Decolmor.rgb_to_cmyk(rgba).last ).to eq alpha[:rgb]
381
445
  end
382
446
  end
383
447
 
384
448
  it "you can set rounding for resulting CMYK values (default = 1)" do
385
449
  colors.each_pair do |hex, values|
386
- expect( Decolmor::hsv_to_hsl(values[:hsv], 0) ).to eq values[:hsl].map(&:round)
450
+ expect( Decolmor.hsv_to_hsl(values[:hsv], 0) ).to eq values[:hsl].map(&:round)
387
451
  end
388
452
  end
389
453
 
390
454
  it "setting rounding doesn't affect alpha channel" do
391
455
  color = colors.keys.sample
392
- alphas.each_pair do |hex_, alpha|
456
+ alphas.each_pair do |_hex_alpha, alpha|
393
457
  rgba = colors[color][:rgb] + [alpha[:rgb]]
394
- expect( Decolmor::rgb_to_cmyk(rgba, 0).last ).to eq alpha[:rgb]
458
+ expect( Decolmor.rgb_to_cmyk(rgba, 0).last ).to eq alpha[:rgb]
395
459
  end
396
460
  end
397
461
  end
@@ -402,19 +466,18 @@ RSpec.describe Decolmor do
402
466
 
403
467
  it "CMYK converts to RGB" do
404
468
  colors.each_pair do |hex_, values|
405
- expect( Decolmor::cmyk_to_rgb(values[:cmyk]) ).to eq values[:rgb]
469
+ expect( Decolmor.cmyk_to_rgb(values[:cmyk]) ).to eq values[:rgb]
406
470
  end
407
471
  end
408
472
 
409
473
  it "alpha channel pass to RGB unchanged" do
410
474
  color = colors.keys.sample
411
- alphas.each_pair do |hex_, values|
475
+ alphas.each_pair do |_hex_alpha, values|
412
476
  cmyka = colors[color][:cmyk] + [values[:rgb]]
413
- expect( Decolmor::cmyk_to_rgb(cmyka).last ).to eq values[:rgb]
477
+ expect( Decolmor.cmyk_to_rgb(cmyka).last ).to eq values[:rgb]
414
478
  end
415
479
  end
416
480
  end
417
481
  end
418
482
 
419
483
  end
420
-
@@ -6,7 +6,7 @@ FactoryBot.define do
6
6
 
7
7
  values = samples.each_with_object(Hash.new) do |value, hash|
8
8
  hex = "%02X" % value
9
- range_01 = (value / 255.to_f).round(5)
9
+ range_01 = (value / 255.to_f).round(3)
10
10
  hash[hex] = {rgb: range_01, rgb_255: value}
11
11
  end
12
12
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: decolmor
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - ChildrenofkoRn
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-09-13 00:00:00.000000000 Z
11
+ date: 2021-09-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -93,7 +93,7 @@ dependencies:
93
93
  - !ruby/object:Gem::Version
94
94
  version: '7.0'
95
95
  description: |-
96
- Gem for converting color spaces from/to: HEX/RGB/HSL/HSV/HSB/CMYK
96
+ Converter color spaces from/to: HEX/RGB/HSL/HSV/HSB/CMYK.
97
97
  The Alpha channel (transparency) is supported.
98
98
  There is also a simple RGB generator.
99
99
  email: Rick-ROR@ya.ru
@@ -123,9 +123,9 @@ licenses:
123
123
  - MIT
124
124
  metadata:
125
125
  homepage_uri: https://github.com/ChildrenofkoRn/decolmor
126
- news_uri: https://github.com/ChildrenofkoRn/decolmor/blob/master/NEWS.md
127
- changelog_uri: https://github.com/ChildrenofkoRn/decolmor/blob/master/CHANGELOG.md
128
- documentation_uri: https://github.com/ChildrenofkoRn/decolmor/blob/master/README.md
126
+ news_uri: https://github.com/ChildrenofkoRn/decolmor/blob/main/NEWS.md
127
+ changelog_uri: https://github.com/ChildrenofkoRn/decolmor/blob/main/CHANGELOG.md
128
+ documentation_uri: https://github.com/ChildrenofkoRn/decolmor/blob/main/README.md
129
129
  bug_tracker_uri: https://github.com/ChildrenofkoRn/decolmor/issues
130
130
  source_code_uri: https://github.com/ChildrenofkoRn/decolmor
131
131
  post_install_message:
@@ -143,7 +143,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
143
143
  - !ruby/object:Gem::Version
144
144
  version: '0'
145
145
  requirements: []
146
- rubygems_version: 3.0.9
146
+ rubygems_version: 3.2.27
147
147
  signing_key:
148
148
  specification_version: 4
149
149
  summary: 'Converter color spaces from/to: HEX/RGB/HSL/HSV/HSB/CMYK'