color_picker 0.0.5 → 0.0.7
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 +4 -4
- data/CHANGELOG.md +9 -0
- data/Gemfile +1 -0
- data/README.md +2 -1
- data/lib/color_picker/color.rb +1 -1
- data/lib/color_picker/palette.rb +21 -19
- data/lib/color_picker/version.rb +1 -1
- data/test/color_test.rb +12 -1
- data/test/palette_test.rb +11 -0
- data/test/test_helper.rb +2 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 338276c7547b62372b5fc078042291dba34a469a
|
4
|
+
data.tar.gz: 87dc21fa1132c001ab43fb6c9327b6b59ceb4164
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4c6566c21c62f54f9539040d8b111108dd42a8099a98994474f892cb63009677b62a2c94dee81dc04a4af7213e091e33799140275d55fc5838ff3ef91c8e88c5
|
7
|
+
data.tar.gz: 7d0a35424dc09d020f3bb45996e2f42291afc11fff9b18a1fc775ca85a177e8a4689e1bd83641dd71df9442ac6ac8492e92a0b9d5c581bcc036a6053ced509cf
|
data/CHANGELOG.md
CHANGED
@@ -14,3 +14,12 @@
|
|
14
14
|
|
15
15
|
### VERSION 0.0.5
|
16
16
|
* fix gem dependencies and add travis to test every build
|
17
|
+
|
18
|
+
### VERSION 0.0.6
|
19
|
+
* test that strong colors palette return only code in the range
|
20
|
+
* add to palette a method to know the max number of colors in the palette
|
21
|
+
|
22
|
+
### VERSION 0.0.7
|
23
|
+
* add coveralls gem and require in test suite
|
24
|
+
* add custom palette method in order to allow ser you own range
|
25
|
+
* rgb ranges only can be read
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,4 +1,5 @@
|
|
1
|
-
|
1
|
+
Color Picker
|
2
2
|
============
|
3
|
+
[](https://travis-ci.org/bernardogalindo/color_picker)
|
3
4
|
|
4
5
|
a tool to get a color based on color palette, also have a method to export to html all the color palette
|
data/lib/color_picker/color.rb
CHANGED
data/lib/color_picker/palette.rb
CHANGED
@@ -1,9 +1,10 @@
|
|
1
1
|
module ColorPicker
|
2
2
|
class Palette
|
3
|
-
attr_reader :range, :range_html
|
4
|
-
|
3
|
+
attr_reader :range, :range_html, :max_number_of_colors
|
4
|
+
attr_reader :blue_color_range, :green_color_range, :red_color_range
|
5
5
|
def initialize(palette_type="complete_palette")
|
6
6
|
@range, @blue_color_range, @green_color_range, @red_color_range = []
|
7
|
+
@max_number_of_colors=0
|
7
8
|
@range_html = ""
|
8
9
|
eval "#{palette_type}"
|
9
10
|
end
|
@@ -13,26 +14,31 @@ module ColorPicker
|
|
13
14
|
end
|
14
15
|
|
15
16
|
def complete_palette
|
16
|
-
@blue_color_range = 0 .. 255
|
17
|
-
@green_color_range = 0 .. 255
|
18
17
|
@red_color_range = 0 .. 255
|
18
|
+
@green_color_range = 0 .. 255
|
19
|
+
@blue_color_range = 0 .. 255
|
19
20
|
generate_palette
|
20
21
|
end
|
21
22
|
|
22
23
|
def strong_colors
|
23
|
-
@green_color_range = 0 .. 9
|
24
24
|
@red_color_range = 0 .. 7
|
25
|
+
@green_color_range = 0 .. 9
|
25
26
|
@blue_color_range = 0 .. 159
|
26
27
|
generate_palette
|
27
28
|
end
|
28
29
|
|
30
|
+
def custom_palette(red, green, blue)
|
31
|
+
@red_color_range = red
|
32
|
+
@green_color_range = green
|
33
|
+
@blue_color_range = blue
|
34
|
+
generate_palette
|
35
|
+
end
|
36
|
+
|
29
37
|
def to_html
|
30
38
|
@range_html = "<div style='width='600px'; height='auto'; float='left'; clear='both'>"
|
31
39
|
|
32
|
-
|
33
|
-
|
34
|
-
(0 .. max_number-1).each do |color_code|
|
35
|
-
color_container = "<div style='background= #{color_code.to_s(16)}; border= 1px solid #000;'>&nbps;</div><div style='float= left'>#{color_code.to_s(16)}</div>"
|
40
|
+
(0 .. @max_number_of_colors).each do |color_code|
|
41
|
+
color_container = "<div style='background= ##{color_code.to_s(16)}'; border= '1px solid #000;'>&nbps;</div><div style='float= left'>#{color_code.to_s(16)}</div>"
|
36
42
|
@range_html += color_container
|
37
43
|
end
|
38
44
|
@range_html += "</div>"
|
@@ -44,17 +50,13 @@ module ColorPicker
|
|
44
50
|
|
45
51
|
private
|
46
52
|
def generate_palette
|
47
|
-
|
48
|
-
|
49
|
-
end
|
50
|
-
@range = [@red_color_range,@green_color_range,@blue_color_range]
|
51
|
-
end
|
52
|
-
|
53
|
-
def get_pair
|
54
|
-
(@blue_color_range.begin.to_i(16) ..@blue_color_range.end.to_i(16)).map do |n|
|
55
|
-
n.to_s(16)
|
56
|
-
end
|
53
|
+
max_colors
|
54
|
+
@range = [@red_color_range,@green_color_range,@blue_color_range]
|
57
55
|
end
|
56
|
+
|
57
|
+
def max_colors
|
58
|
+
@max_number_of_colors = (@red_color_range.end+1) * (@green_color_range.end+1) * (@blue_color_range.end+1)
|
59
|
+
end
|
58
60
|
|
59
61
|
end
|
60
62
|
end
|
data/lib/color_picker/version.rb
CHANGED
data/test/color_test.rb
CHANGED
@@ -6,7 +6,7 @@ module ColorPicker
|
|
6
6
|
end
|
7
7
|
|
8
8
|
def test_generate
|
9
|
-
assert_match /[0
|
9
|
+
assert_match /([0-9]|[a-fA-F]){5,6}/, @color.generate
|
10
10
|
end
|
11
11
|
|
12
12
|
def test_code
|
@@ -24,6 +24,17 @@ module ColorPicker
|
|
24
24
|
assert_equal [0..7, 0..9, 0..159], @color.palette.range
|
25
25
|
end
|
26
26
|
|
27
|
+
def test_strong_colors_generate_color
|
28
|
+
@color.palette_type("strong_colors")
|
29
|
+
max_range = (@color.palette.red_color_range.end+1) * (@color.palette.green_color_range.end+1) * (@color.palette.blue_color_range.end+1)
|
30
|
+
colors = []
|
31
|
+
10.times { colors << @color.generate }
|
32
|
+
colors.each do |color|
|
33
|
+
assert_match (/[0-7]{2}[0-9]{2}[0-9|a-fA-F]{2}/), color
|
34
|
+
end
|
35
|
+
assert_equal @color.palette.max_number_of_colors, max_range
|
36
|
+
end
|
37
|
+
|
27
38
|
def test_method_missing
|
28
39
|
assert_match "undefined_method", @color.palette_type("undefined_method")
|
29
40
|
end
|
data/test/palette_test.rb
CHANGED
@@ -12,5 +12,16 @@ module ColorPicker
|
|
12
12
|
def test_strong_colors_palette
|
13
13
|
assert_equal [0..7, 0 .. 9, 0 .. 159], @palette.strong_colors
|
14
14
|
end
|
15
|
+
|
16
|
+
def test_to_html
|
17
|
+
skip("need to work in algorith to itereate bigger numbers")
|
18
|
+
@palette.custom_palette(0..1, 0..1, 0..1)
|
19
|
+
assert_match (/<div style='width=600px;height='auto';float='left';clear='both'><div style='background='#010101'; border='1px solid #000'> <\/div>
|
20
|
+
<div style='float=left'>010101<\/div><\/div>/), @palette.to_html
|
21
|
+
end
|
22
|
+
|
23
|
+
def test_custom_palete
|
24
|
+
assert_equal [0..1, 0..1, 0..1], @palette.custom_palette(0..1, 0..1, 0..1)
|
25
|
+
end
|
15
26
|
end
|
16
27
|
end
|
data/test/test_helper.rb
CHANGED