kodachroma 1.0.1 → 1.0.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
  SHA256:
3
- metadata.gz: 7640db12137d23a1ee8f3dadf33332bf7774608145744d509c63ad77d1eb1d9c
4
- data.tar.gz: 7173a022b1e5b346437910808860b6afab4e6f4b9db73235e0e9749126baa688
3
+ metadata.gz: be524f99a054ed7d4774d5635db08aa373388e8cb8519efcc0dbbd01fe40497c
4
+ data.tar.gz: 1dfa42a89db551ef8ee1ca7eb54bfa1901797812f0c36b55806ca64bc082fd16
5
5
  SHA512:
6
- metadata.gz: e84f25fa1ef04bea4723febcb6f12274267a8b8e5d91f1b9cb5c970dbf91250ac36d7cdbe5aa7e232448d7634f9b1b48bc34df6debadc1419b77704800af925f
7
- data.tar.gz: 9817eeb65c33b26a496e10e7b5622e6e4faa86e264bc5056913c5478851504b904b1d85048184de769d7b04275a9d888fbf03d0b2de7d2e73fa63cd06bffa979
6
+ metadata.gz: 5d5ba66b5fce588c8f11a99cbe5382fa11604284aa2ed909747f676ac9716c5ab3920e610de5a5e2c81030a82e512ea6c10f4dca28dc31ec7aed29466da7acda
7
+ data.tar.gz: 3022b7be3fd9580c197be8e77c725323dd3f9799cab896f554c21fb3d7ed4e3831741c6350329ed43be33c4602c650b4bed8155c0cfd9a8c10d478058ce524c4
@@ -41,6 +41,8 @@ module Kodachroma
41
41
  # @param n [Numeric, String]
42
42
  # @return [String, Float]
43
43
  def to_percentage(n)
44
+ return n.to_f if n.is_a?(String) && n.include?('%')
45
+
44
46
  n = n.to_f
45
47
  n = "#{ n * 100 }%" if n <= 1
46
48
  n
@@ -0,0 +1,156 @@
1
+ # frozen_string_literal: true
2
+ module Kodachroma
3
+ NAMED_COLORS = {
4
+ 'aliceblue' => 'f0f8ff',
5
+ 'antiquewhite' => 'faebd7',
6
+ 'aqua' => '0ff',
7
+ 'aquamarine' => '7fffd4',
8
+ 'azure' => 'f0ffff',
9
+ 'beige' => 'f5f5dc',
10
+ 'bisque' => 'ffe4c4',
11
+ 'black' => '000',
12
+ 'blanchedalmond' => 'ffebcd',
13
+ 'blue' => '00f',
14
+ 'blueviolet' => '8a2be2',
15
+ 'brown' => 'a52a2a',
16
+ 'burlywood' => 'deb887',
17
+ 'burntsienna' => 'ea7e5d',
18
+ 'cadetblue' => '5f9ea0',
19
+ 'chartreuse' => '7fff00',
20
+ 'chocolate' => 'd2691e',
21
+ 'coral' => 'ff7f50',
22
+ 'cornflowerblue' => '6495ed',
23
+ 'cornsilk' => 'fff8dc',
24
+ 'crimson' => 'dc143c',
25
+ 'cyan' => '0ff',
26
+ 'darkblue' => '00008b',
27
+ 'darkcyan' => '008b8b',
28
+ 'darkgoldenrod' => 'b8860b',
29
+ 'darkgray' => 'a9a9a9',
30
+ 'darkgreen' => '006400',
31
+ 'darkgrey' => 'a9a9a9',
32
+ 'darkkhaki' => 'bdb76b',
33
+ 'darkmagenta' => '8b008b',
34
+ 'darkolivegreen' => '556b2f',
35
+ 'darkorange' => 'ff8c00',
36
+ 'darkorchid' => '9932cc',
37
+ 'darkred' => '8b0000',
38
+ 'darksalmon' => 'e9967a',
39
+ 'darkseagreen' => '8fbc8f',
40
+ 'darkslateblue' => '483d8b',
41
+ 'darkslategray' => '2f4f4f',
42
+ 'darkslategrey' => '2f4f4f',
43
+ 'darkturquoise' => '00ced1',
44
+ 'darkviolet' => '9400d3',
45
+ 'deeppink' => 'ff1493',
46
+ 'deepskyblue' => '00bfff',
47
+ 'dimgray' => '696969',
48
+ 'dimgrey' => '696969',
49
+ 'dodgerblue' => '1e90ff',
50
+ 'firebrick' => 'b22222',
51
+ 'floralwhite' => 'fffaf0',
52
+ 'forestgreen' => '228b22',
53
+ 'fuchsia' => 'f0f',
54
+ 'gainsboro' => 'dcdcdc',
55
+ 'ghostwhite' => 'f8f8ff',
56
+ 'gold' => 'ffd700',
57
+ 'goldenrod' => 'daa520',
58
+ 'gray' => '808080',
59
+ 'green' => '008000',
60
+ 'greenyellow' => 'adff2f',
61
+ 'grey' => '808080',
62
+ 'honeydew' => 'f0fff0',
63
+ 'hotpink' => 'ff69b4',
64
+ 'indianred' => 'cd5c5c',
65
+ 'indigo' => '4b0082',
66
+ 'ivory' => 'fffff0',
67
+ 'khaki' => 'f0e68c',
68
+ 'lavender' => 'e6e6fa',
69
+ 'lavenderblush' => 'fff0f5',
70
+ 'lawngreen' => '7cfc00',
71
+ 'lemonchiffon' => 'fffacd',
72
+ 'lightblue' => 'add8e6',
73
+ 'lightcoral' => 'f08080',
74
+ 'lightcyan' => 'e0ffff',
75
+ 'lightgoldenrodyellow' => 'fafad2',
76
+ 'lightgray' => 'd3d3d3',
77
+ 'lightgreen' => '90ee90',
78
+ 'lightgrey' => 'd3d3d3',
79
+ 'lightpink' => 'ffb6c1',
80
+ 'lightsalmon' => 'ffa07a',
81
+ 'lightseagreen' => '20b2aa',
82
+ 'lightskyblue' => '87cefa',
83
+ 'lightslategray' => '789',
84
+ 'lightslategrey' => '789',
85
+ 'lightsteelblue' => 'b0c4de',
86
+ 'lightyellow' => 'ffffe0',
87
+ 'lime' => '0f0',
88
+ 'limegreen' => '32cd32',
89
+ 'linen' => 'faf0e6',
90
+ 'magenta' => 'f0f',
91
+ 'maroon' => '800000',
92
+ 'mediumaquamarine' => '66cdaa',
93
+ 'mediumblue' => '0000cd',
94
+ 'mediumorchid' => 'ba55d3',
95
+ 'mediumpurple' => '9370db',
96
+ 'mediumseagreen' => '3cb371',
97
+ 'mediumslateblue' => '7b68ee',
98
+ 'mediumspringgreen' => '00fa9a',
99
+ 'mediumturquoise' => '48d1cc',
100
+ 'mediumvioletred' => 'c71585',
101
+ 'midnightblue' => '191970',
102
+ 'mintcream' => 'f5fffa',
103
+ 'mistyrose' => 'ffe4e1',
104
+ 'moccasin' => 'ffe4b5',
105
+ 'navajowhite' => 'ffdead',
106
+ 'navy' => '000080',
107
+ 'oldlace' => 'fdf5e6',
108
+ 'olive' => '808000',
109
+ 'olivedrab' => '6b8e23',
110
+ 'orange' => 'ffa500',
111
+ 'orangered' => 'ff4500',
112
+ 'orchid' => 'da70d6',
113
+ 'palegoldenrod' => 'eee8aa',
114
+ 'palegreen' => '98fb98',
115
+ 'paleturquoise' => 'afeeee',
116
+ 'palevioletred' => 'db7093',
117
+ 'papayawhip' => 'ffefd5',
118
+ 'peachpuff' => 'ffdab9',
119
+ 'peru' => 'cd853f',
120
+ 'pink' => 'ffc0cb',
121
+ 'plum' => 'dda0dd',
122
+ 'powderblue' => 'b0e0e6',
123
+ 'purple' => '800080',
124
+ 'rebeccapurple' => '663399',
125
+ 'red' => 'f00',
126
+ 'rosybrown' => 'bc8f8f',
127
+ 'royalblue' => '4169e1',
128
+ 'saddlebrown' => '8b4513',
129
+ 'salmon' => 'fa8072',
130
+ 'sandybrown' => 'f4a460',
131
+ 'seagreen' => '2e8b57',
132
+ 'seashell' => 'fff5ee',
133
+ 'sienna' => 'a0522d',
134
+ 'silver' => 'c0c0c0',
135
+ 'skyblue' => '87ceeb',
136
+ 'slateblue' => '6a5acd',
137
+ 'slategray' => '708090',
138
+ 'slategrey' => '708090',
139
+ 'snow' => 'fffafa',
140
+ 'springgreen' => '00ff7f',
141
+ 'steelblue' => '4682b4',
142
+ 'tan' => 'd2b48c',
143
+ 'teal' => '008080',
144
+ 'thistle' => 'd8bfd8',
145
+ 'tomato' => 'ff6347',
146
+ 'turquoise' => '40e0d0',
147
+ 'violet' => 'ee82ee',
148
+ 'wheat' => 'f5deb3',
149
+ 'white' => 'fff',
150
+ 'whitesmoke' => 'f5f5f5',
151
+ 'yellow' => 'ff0',
152
+ 'yellowgreen' => '9acd32'
153
+ }.freeze
154
+
155
+ INVERTED_NAMED_COLORS = NAMED_COLORS.invert.freeze
156
+ end
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module Kodachroma
3
- VERSION = '1.0.1'
3
+ VERSION = '1.0.2'
4
4
  end
data/lib/kodachroma.rb CHANGED
@@ -38,6 +38,9 @@ require 'kodachroma/converters/hsv_converter'
38
38
 
39
39
  # The main module.
40
40
  module Kodachroma
41
+ autoload :NAMED_COLORS, 'kodachroma/named_colors'
42
+ autoload :INVERTED_NAMED_COLORS, 'kodachroma/named_colors'
43
+
41
44
  class << self
42
45
  # Returns a new instance of color. Supports hexadecimal, rgb, rgba, hsl,
43
46
  # hsla, hsv, hsva, and named color formats.
@@ -69,7 +72,7 @@ module Kodachroma
69
72
  # @param name [String] the color name
70
73
  # @return [String, nil] the color as a string hexadecimal or nil
71
74
  def hex_from_name(name)
72
- named_colors_map[name]
75
+ NAMED_COLORS[name]
73
76
  end
74
77
 
75
78
  # Returns the color name of a hexadecimal color if available and nil if no
@@ -84,7 +87,7 @@ module Kodachroma
84
87
  # @param hex [String] the hexadecimal color
85
88
  # @return [String, nil] the color name or nil
86
89
  def name_from_hex(hex)
87
- hex_named_colors_map[hex]
90
+ INVERTED_NAMED_COLORS[hex]
88
91
  end
89
92
 
90
93
  # Defines a custom palette for use by {Color#palette}. Uses a DSL inside
@@ -116,15 +119,5 @@ module Kodachroma
116
119
  palette_evaluator.evaluate(@color)
117
120
  end
118
121
  end
119
-
120
- private
121
-
122
- def hex_named_colors_map
123
- @hex_named_colors_map ||= named_colors_map.invert
124
- end
125
-
126
- def named_colors_map
127
- @named_colors ||= YAML.load_file(File.expand_path('support/named_colors.yml', __dir__))
128
- end
129
122
  end
130
123
  end
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kodachroma
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Evan Lecklider
8
8
  - Jeremy Fairbank
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2021-09-13 00:00:00.000000000 Z
12
+ date: 2022-11-14 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -145,6 +145,7 @@ files:
145
145
  - lib/kodachroma/errors.rb
146
146
  - lib/kodachroma/harmonies.rb
147
147
  - lib/kodachroma/helpers/bounders.rb
148
+ - lib/kodachroma/named_colors.rb
148
149
  - lib/kodachroma/palette_builder.rb
149
150
  - lib/kodachroma/rgb_generator.rb
150
151
  - lib/kodachroma/rgb_generator/base.rb
@@ -157,14 +158,13 @@ files:
157
158
  - lib/kodachroma/rgb_generator/from_rgb_values.rb
158
159
  - lib/kodachroma/rgb_generator/from_string.rb
159
160
  - lib/kodachroma/version.rb
160
- - lib/support/named_colors.yml
161
161
  homepage: https://github.com/evanleck/kodachroma
162
162
  licenses:
163
163
  - MIT
164
164
  metadata:
165
165
  bug_tracker_uri: https://github.com/evanleck/kodachroma/issues
166
166
  source_code_uri: https://github.com/evanleck/kodachroma
167
- post_install_message:
167
+ post_install_message:
168
168
  rdoc_options: []
169
169
  require_paths:
170
170
  - lib
@@ -179,8 +179,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
179
179
  - !ruby/object:Gem::Version
180
180
  version: '0'
181
181
  requirements: []
182
- rubygems_version: 3.2.22
183
- signing_key:
182
+ rubygems_version: 3.3.7
183
+ signing_key:
184
184
  specification_version: 4
185
185
  summary: A library for color manipulation and palette generation.
186
186
  test_files: []
@@ -1,149 +0,0 @@
1
- aliceblue: 'f0f8ff'
2
- antiquewhite: 'faebd7'
3
- aqua: '0ff'
4
- aquamarine: '7fffd4'
5
- azure: 'f0ffff'
6
- beige: 'f5f5dc'
7
- bisque: 'ffe4c4'
8
- black: '000'
9
- blanchedalmond: 'ffebcd'
10
- blue: '00f'
11
- blueviolet: '8a2be2'
12
- brown: 'a52a2a'
13
- burlywood: 'deb887'
14
- burntsienna: 'ea7e5d'
15
- cadetblue: '5f9ea0'
16
- chartreuse: '7fff00'
17
- chocolate: 'd2691e'
18
- coral: 'ff7f50'
19
- cornflowerblue: '6495ed'
20
- cornsilk: 'fff8dc'
21
- crimson: 'dc143c'
22
- cyan: '0ff'
23
- darkblue: '00008b'
24
- darkcyan: '008b8b'
25
- darkgoldenrod: 'b8860b'
26
- darkgray: 'a9a9a9'
27
- darkgreen: '006400'
28
- darkgrey: 'a9a9a9'
29
- darkkhaki: 'bdb76b'
30
- darkmagenta: '8b008b'
31
- darkolivegreen: '556b2f'
32
- darkorange: 'ff8c00'
33
- darkorchid: '9932cc'
34
- darkred: '8b0000'
35
- darksalmon: 'e9967a'
36
- darkseagreen: '8fbc8f'
37
- darkslateblue: '483d8b'
38
- darkslategray: '2f4f4f'
39
- darkslategrey: '2f4f4f'
40
- darkturquoise: '00ced1'
41
- darkviolet: '9400d3'
42
- deeppink: 'ff1493'
43
- deepskyblue: '00bfff'
44
- dimgray: '696969'
45
- dimgrey: '696969'
46
- dodgerblue: '1e90ff'
47
- firebrick: 'b22222'
48
- floralwhite: 'fffaf0'
49
- forestgreen: '228b22'
50
- fuchsia: 'f0f'
51
- gainsboro: 'dcdcdc'
52
- ghostwhite: 'f8f8ff'
53
- gold: 'ffd700'
54
- goldenrod: 'daa520'
55
- gray: '808080'
56
- green: '008000'
57
- greenyellow: 'adff2f'
58
- grey: '808080'
59
- honeydew: 'f0fff0'
60
- hotpink: 'ff69b4'
61
- indianred: 'cd5c5c'
62
- indigo: '4b0082'
63
- ivory: 'fffff0'
64
- khaki: 'f0e68c'
65
- lavender: 'e6e6fa'
66
- lavenderblush: 'fff0f5'
67
- lawngreen: '7cfc00'
68
- lemonchiffon: 'fffacd'
69
- lightblue: 'add8e6'
70
- lightcoral: 'f08080'
71
- lightcyan: 'e0ffff'
72
- lightgoldenrodyellow: 'fafad2'
73
- lightgray: 'd3d3d3'
74
- lightgreen: '90ee90'
75
- lightgrey: 'd3d3d3'
76
- lightpink: 'ffb6c1'
77
- lightsalmon: 'ffa07a'
78
- lightseagreen: '20b2aa'
79
- lightskyblue: '87cefa'
80
- lightslategray: '789'
81
- lightslategrey: '789'
82
- lightsteelblue: 'b0c4de'
83
- lightyellow: 'ffffe0'
84
- lime: '0f0'
85
- limegreen: '32cd32'
86
- linen: 'faf0e6'
87
- magenta: 'f0f'
88
- maroon: '800000'
89
- mediumaquamarine: '66cdaa'
90
- mediumblue: '0000cd'
91
- mediumorchid: 'ba55d3'
92
- mediumpurple: '9370db'
93
- mediumseagreen: '3cb371'
94
- mediumslateblue: '7b68ee'
95
- mediumspringgreen: '00fa9a'
96
- mediumturquoise: '48d1cc'
97
- mediumvioletred: 'c71585'
98
- midnightblue: '191970'
99
- mintcream: 'f5fffa'
100
- mistyrose: 'ffe4e1'
101
- moccasin: 'ffe4b5'
102
- navajowhite: 'ffdead'
103
- navy: '000080'
104
- oldlace: 'fdf5e6'
105
- olive: '808000'
106
- olivedrab: '6b8e23'
107
- orange: 'ffa500'
108
- orangered: 'ff4500'
109
- orchid: 'da70d6'
110
- palegoldenrod: 'eee8aa'
111
- palegreen: '98fb98'
112
- paleturquoise: 'afeeee'
113
- palevioletred: 'db7093'
114
- papayawhip: 'ffefd5'
115
- peachpuff: 'ffdab9'
116
- peru: 'cd853f'
117
- pink: 'ffc0cb'
118
- plum: 'dda0dd'
119
- powderblue: 'b0e0e6'
120
- purple: '800080'
121
- rebeccapurple: '663399'
122
- red: 'f00'
123
- rosybrown: 'bc8f8f'
124
- royalblue: '4169e1'
125
- saddlebrown: '8b4513'
126
- salmon: 'fa8072'
127
- sandybrown: 'f4a460'
128
- seagreen: '2e8b57'
129
- seashell: 'fff5ee'
130
- sienna: 'a0522d'
131
- silver: 'c0c0c0'
132
- skyblue: '87ceeb'
133
- slateblue: '6a5acd'
134
- slategray: '708090'
135
- slategrey: '708090'
136
- snow: 'fffafa'
137
- springgreen: '00ff7f'
138
- steelblue: '4682b4'
139
- tan: 'd2b48c'
140
- teal: '008080'
141
- thistle: 'd8bfd8'
142
- tomato: 'ff6347'
143
- turquoise: '40e0d0'
144
- violet: 'ee82ee'
145
- wheat: 'f5deb3'
146
- white: 'fff'
147
- whitesmoke: 'f5f5f5'
148
- yellow: 'ff0'
149
- yellowgreen: '9acd32'