kodachroma 1.0.1 → 1.0.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 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'