color_namer_ruby 0.1.0 → 0.1.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 +4 -4
- data/README.md +92 -43
- data/Rakefile +2 -2
- data/lib/color_namer_ruby/distance.rb +45 -44
- data/lib/color_namer_ruby/version.rb +5 -5
- data/lib/color_namer_ruby.rb +62 -10
- metadata +21 -14
- data/lib/color_namer_ruby/basic.rb +0 -36
- data/lib/color_namer_ruby/html.rb +0 -163
- data/lib/color_namer_ruby/namer.rb +0 -44
- data/lib/color_namer_ruby/ntc.rb +0 -1580
- data/lib/color_namer_ruby/pantone.rb +0 -134
- data/lib/color_namer_ruby/roygbiv.rb +0 -21
- data/lib/color_namer_ruby/x11.rb +0 -159
@@ -1,163 +0,0 @@
|
|
1
|
-
module ColorNamerRuby
|
2
|
-
class Html
|
3
|
-
def self.get_name_from_hex(hex)
|
4
|
-
self.colours.select { |swatch| swatch[:hex] == hex.upcase }.first&.dig(:name)
|
5
|
-
end
|
6
|
-
|
7
|
-
private
|
8
|
-
|
9
|
-
def self.colours
|
10
|
-
[
|
11
|
-
{ name: 'aqua', hex: '#00FFFF' },
|
12
|
-
{ name: 'aliceblue', hex: '#F0F8FF' },
|
13
|
-
{ name: 'antiquewhite', hex: '#FAEBD7' },
|
14
|
-
{ name: 'black', hex: '#000000' },
|
15
|
-
{ name: 'blue', hex: '#0000FF' },
|
16
|
-
{ name: 'cyan', hex: '#00FFFF' },
|
17
|
-
{ name: 'darkblue', hex: '#00008B' },
|
18
|
-
{ name: 'darkcyan', hex: '#008B8B' },
|
19
|
-
{ name: 'darkgreen', hex: '#006400' },
|
20
|
-
{ name: 'darkturquoise', hex: '#00CED1' },
|
21
|
-
{ name: 'deepskyblue', hex: '#00BFFF' },
|
22
|
-
{ name: 'green', hex: '#008000' },
|
23
|
-
{ name: 'lime', hex: '#00FF00' },
|
24
|
-
{ name: 'mediumblue', hex: '#0000CD' },
|
25
|
-
{ name: 'mediumspringgreen', hex: '#00FA9A' },
|
26
|
-
{ name: 'navy', hex: '#000080' },
|
27
|
-
{ name: 'springgreen', hex: '#00FF7F' },
|
28
|
-
{ name: 'teal', hex: '#008080' },
|
29
|
-
{ name: 'midnightblue', hex: '#191970' },
|
30
|
-
{ name: 'dodgerblue', hex: '#1E90FF' },
|
31
|
-
{ name: 'lightseagreen', hex: '#20B2AA' },
|
32
|
-
{ name: 'forestgreen', hex: '#228B22' },
|
33
|
-
{ name: 'seagreen', hex: '#2E8B57' },
|
34
|
-
{ name: 'darkslategray', hex: '#2F4F4F' },
|
35
|
-
{ name: 'darkslategrey', hex: '#2F4F4F' },
|
36
|
-
{ name: 'limegreen', hex: '#32CD32' },
|
37
|
-
{ name: 'mediumseagreen', hex: '#3CB371' },
|
38
|
-
{ name: 'turquoise', hex: '#40E0D0' },
|
39
|
-
{ name: 'royalblue', hex: '#4169E1' },
|
40
|
-
{ name: 'steelblue', hex: '#4682B4' },
|
41
|
-
{ name: 'darkslateblue', hex: '#483D8B' },
|
42
|
-
{ name: 'mediumturquoise', hex: '#48D1CC' },
|
43
|
-
{ name: 'indigo', hex: '#4B0082' },
|
44
|
-
{ name: 'darkolivegreen', hex: '#556B2F' },
|
45
|
-
{ name: 'cadetblue', hex: '#5F9EA0' },
|
46
|
-
{ name: 'cornflowerblue', hex: '#6495ED' },
|
47
|
-
{ name: 'mediumaquamarine', hex: '#66CDAA' },
|
48
|
-
{ name: 'dimgray', hex: '#696969' },
|
49
|
-
{ name: 'dimgrey', hex: '#696969' },
|
50
|
-
{ name: 'slateblue', hex: '#6A5ACD' },
|
51
|
-
{ name: 'olivedrab', hex: '#6B8E23' },
|
52
|
-
{ name: 'slategray', hex: '#708090' },
|
53
|
-
{ name: 'slategrey', hex: '#708090' },
|
54
|
-
{ name: 'lightslategray', hex: '#778899' },
|
55
|
-
{ name: 'lightslategrey', hex: '#778899' },
|
56
|
-
{ name: 'mediumslateblue', hex: '#7B68EE' },
|
57
|
-
{ name: 'lawngreen', hex: '#7CFC00' },
|
58
|
-
{ name: 'aquamarine', hex: '#7FFFD4' },
|
59
|
-
{ name: 'chartreuse', hex: '#7FFF00' },
|
60
|
-
{ name: 'gray', hex: '#808080' },
|
61
|
-
{ name: 'grey', hex: '#808080' },
|
62
|
-
{ name: 'maroon', hex: '#800000' },
|
63
|
-
{ name: 'olive', hex: '#808000' },
|
64
|
-
{ name: 'purple', hex: '#800080' },
|
65
|
-
{ name: 'lightskyblue', hex: '#87CEFA' },
|
66
|
-
{ name: 'skyblue', hex: '#87CEEB' },
|
67
|
-
{ name: 'blueviolet', hex: '#8A2BE2' },
|
68
|
-
{ name: 'darkmagenta', hex: '#8B008B' },
|
69
|
-
{ name: 'darkred', hex: '#8B0000' },
|
70
|
-
{ name: 'saddlebrown', hex: '#8B4513' },
|
71
|
-
{ name: 'darkseagreen', hex: '#8FBC8F' },
|
72
|
-
{ name: 'lightgreen', hex: '#90EE90' },
|
73
|
-
{ name: 'mediumpurple', hex: '#9370DB' },
|
74
|
-
{ name: 'darkviolet', hex: '#9400D3' },
|
75
|
-
{ name: 'palegreen', hex: '#98FB98' },
|
76
|
-
{ name: 'darkorchid', hex: '#9932CC' },
|
77
|
-
{ name: 'yellowgreen', hex: '#9ACD32' },
|
78
|
-
{ name: 'sienna', hex: '#A0522D' },
|
79
|
-
{ name: 'brown', hex: '#A52A2A' },
|
80
|
-
{ name: 'darkgray', hex: '#A9A9A9' },
|
81
|
-
{ name: 'darkgrey', hex: '#A9A9A9' },
|
82
|
-
{ name: 'greenyellow', hex: '#ADFF2F' },
|
83
|
-
{ name: 'lightblue', hex: '#ADD8E6' },
|
84
|
-
{ name: 'paleturquoise', hex: '#AFEEEE' },
|
85
|
-
{ name: 'lightsteelblue', hex: '#B0C4DE' },
|
86
|
-
{ name: 'powderblue', hex: '#B0E0E6' },
|
87
|
-
{ name: 'firebrick', hex: '#B22222' },
|
88
|
-
{ name: 'darkgoldenrod', hex: '#B8860B' },
|
89
|
-
{ name: 'mediumorchid', hex: '#BA55D3' },
|
90
|
-
{ name: 'rosybrown', hex: '#BC8F8F' },
|
91
|
-
{ name: 'darkkhaki', hex: '#BDB76B' },
|
92
|
-
{ name: 'silver', hex: '#C0C0C0' },
|
93
|
-
{ name: 'mediumvioletred', hex: '#C71585' },
|
94
|
-
{ name: 'indianred', hex: '#CD5C5C' },
|
95
|
-
{ name: 'peru', hex: '#CD853F' },
|
96
|
-
{ name: 'chocolate', hex: '#D2691E' },
|
97
|
-
{ name: 'tan', hex: '#D2B48C' },
|
98
|
-
{ name: 'lightgray', hex: '#D3D3D3' },
|
99
|
-
{ name: 'lightgrey', hex: '#D3D3D3' },
|
100
|
-
{ name: 'thistle', hex: '#D8BFD8' },
|
101
|
-
{ name: 'goldenrod', hex: '#DAA520' },
|
102
|
-
{ name: 'orchid', hex: '#DA70D6' },
|
103
|
-
{ name: 'palevioletred', hex: '#DB7093' },
|
104
|
-
{ name: 'crimson', hex: '#DC143C' },
|
105
|
-
{ name: 'gainsboro', hex: '#DCDCDC' },
|
106
|
-
{ name: 'plum', hex: '#DDA0DD' },
|
107
|
-
{ name: 'burlywood', hex: '#DEB887' },
|
108
|
-
{ name: 'lightcyan', hex: '#E0FFFF' },
|
109
|
-
{ name: 'lavender', hex: '#E6E6FA' },
|
110
|
-
{ name: 'darksalmon', hex: '#E9967A' },
|
111
|
-
{ name: 'palegoldenrod', hex: '#EEE8AA' },
|
112
|
-
{ name: 'violet', hex: '#EE82EE' },
|
113
|
-
{ name: 'azure', hex: '#F0FFFF' },
|
114
|
-
{ name: 'honeydew', hex: '#F0FFF0' },
|
115
|
-
{ name: 'khaki', hex: '#F0E68C' },
|
116
|
-
{ name: 'lightcoral', hex: '#F08080' },
|
117
|
-
{ name: 'sandybrown', hex: '#F4A460' },
|
118
|
-
{ name: 'beige', hex: '#F5F5DC' },
|
119
|
-
{ name: 'mintcream', hex: '#F5FFFA' },
|
120
|
-
{ name: 'wheat', hex: '#F5DEB3' },
|
121
|
-
{ name: 'whitesmoke', hex: '#F5F5F5' },
|
122
|
-
{ name: 'ghostwhite', hex: '#F8F8FF' },
|
123
|
-
{ name: 'lightgoldenrodyellow', hex: '#FAFAD2' },
|
124
|
-
{ name: 'linen', hex: '#FAF0E6' },
|
125
|
-
{ name: 'salmon', hex: '#FA8072' },
|
126
|
-
{ name: 'oldlace', hex: '#FDF5E6' },
|
127
|
-
{ name: 'bisque', hex: '#FFE4C4' },
|
128
|
-
{ name: 'blanchedalmond', hex: '#FFEBCD' },
|
129
|
-
{ name: 'coral', hex: '#FF7F50' },
|
130
|
-
{ name: 'cornsilk', hex: '#FFF8DC' },
|
131
|
-
{ name: 'darkorange', hex: '#FF8C00' },
|
132
|
-
{ name: 'deeppink', hex: '#FF1493' },
|
133
|
-
{ name: 'floralwhite', hex: '#FFFAF0' },
|
134
|
-
{ name: 'fuchsia', hex: '#FF00FF' },
|
135
|
-
{ name: 'gold', hex: '#FFD700' },
|
136
|
-
{ name: 'hotpink', hex: '#FF69B4' },
|
137
|
-
{ name: 'ivory', hex: '#FFFFF0' },
|
138
|
-
{ name: 'lavenderblush', hex: '#FFF0F5' },
|
139
|
-
{ name: 'lemonchiffon', hex: '#FFFACD' },
|
140
|
-
{ name: 'lightpink', hex: '#FFB6C1' },
|
141
|
-
{ name: 'lightsalmon', hex: '#FFA07A' },
|
142
|
-
{ name: 'lightyellow', hex: '#FFFFE0' },
|
143
|
-
{ name: 'magenta', hex: '#FF00FF' },
|
144
|
-
{ name: 'mistyrose', hex: '#FFE4E1' },
|
145
|
-
{ name: 'moccasin', hex: '#FFE4B5' },
|
146
|
-
{ name: 'navajowhite', hex: '#FFDEAD' },
|
147
|
-
{ name: 'orange', hex: '#FFA500' },
|
148
|
-
{ name: 'orangered', hex: '#FF4500' },
|
149
|
-
{ name: 'papayawhip', hex: '#FFEFD5' },
|
150
|
-
{ name: 'peachpuff', hex: '#FFDAB9' },
|
151
|
-
{ name: 'pink', hex: '#FFC0CB' },
|
152
|
-
{ name: 'red', hex: '#FF0000' },
|
153
|
-
{ name: 'seashell', hex: '#FFF5EE' },
|
154
|
-
{ name: 'snow', hex: '#FFFAFA' },
|
155
|
-
{ name: 'tomato', hex: '#FF6347' },
|
156
|
-
{ name: 'white', hex: '#FFFFFF' },
|
157
|
-
{ name: 'yellow', hex: '#FFFF00' },
|
158
|
-
]
|
159
|
-
end
|
160
|
-
end
|
161
|
-
end
|
162
|
-
|
163
|
-
|
@@ -1,44 +0,0 @@
|
|
1
|
-
require 'color_conversion'
|
2
|
-
require 'active_support/core_ext/object/blank'
|
3
|
-
|
4
|
-
module ColorNamerRuby
|
5
|
-
class Namer
|
6
|
-
def self.get_name(colour_value, pick: [], omit: [], **alt_colour_value)
|
7
|
-
# alt_colour_value are used to collect colour paramaters when they are passed in the key format
|
8
|
-
@hex = ColorConversion::Color.new(colour_value.presence || alt_colour_value).hex
|
9
|
-
|
10
|
-
name = self.check_lists(pick, omit)
|
11
|
-
return name if name.present?
|
12
|
-
|
13
|
-
name_object = ColorNamerRuby::Distance.get_names_from_hex(@hex, pick, omit, 1).first
|
14
|
-
return name_object.dig(:name)
|
15
|
-
end
|
16
|
-
|
17
|
-
def self.get_names(colour_value, pick: [], omit: [], limit: -1, **alt_colour_value)
|
18
|
-
@hex = ColorConversion::Color.new(colour_value.presence || alt_colour_value).hex
|
19
|
-
|
20
|
-
name_objects = ColorNamerRuby::Distance.get_names_from_hex(@hex, pick, omit, limit)
|
21
|
-
return name_objects
|
22
|
-
end
|
23
|
-
|
24
|
-
def self.list_names
|
25
|
-
['basic', 'html', 'ntc', 'pantone', 'roygbiv', 'x11']
|
26
|
-
end
|
27
|
-
|
28
|
-
private
|
29
|
-
|
30
|
-
def self.check_lists(pick, omit)
|
31
|
-
name = nil
|
32
|
-
|
33
|
-
self.list_names.each do |list_name|
|
34
|
-
if (pick.empty? || pick.include?(list_name)) && !omit.include?(list_name)
|
35
|
-
name = Object.const_get("ColorNamerRuby::#{list_name.capitalize}").get_name_from_hex(@hex)
|
36
|
-
end
|
37
|
-
|
38
|
-
break if name.present?
|
39
|
-
end
|
40
|
-
|
41
|
-
name || ''
|
42
|
-
end
|
43
|
-
end
|
44
|
-
end
|