color_converters 0.1.3 → 0.1.5
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 +70 -47
- data/Rakefile +8 -8
- data/lib/color_converters/base_converter.rb +17 -14
- data/lib/color_converters/color.rb +17 -2
- data/lib/color_converters/converters/cielab_converter.rb +19 -12
- data/lib/color_converters/converters/cielch_converter.rb +19 -12
- data/lib/color_converters/converters/cmyk_converter.rb +18 -11
- data/lib/color_converters/converters/hex_converter.rb +29 -12
- data/lib/color_converters/converters/hsl_converter.rb +20 -13
- data/lib/color_converters/converters/hsl_string_converter.rb +46 -12
- data/lib/color_converters/converters/hsv_converter.rb +17 -11
- data/lib/color_converters/converters/name_converter.rb +50 -166
- data/lib/color_converters/converters/null_converter.rb +10 -4
- data/lib/color_converters/converters/oklab_converter.rb +26 -18
- data/lib/color_converters/converters/oklch_converter.rb +19 -12
- data/lib/color_converters/converters/rgb_converter.rb +22 -15
- data/lib/color_converters/converters/rgb_string_converter.rb +48 -16
- data/lib/color_converters/converters/xyz_converter.rb +19 -12
- data/lib/color_converters/version.rb +1 -1
- data/lib/color_converters.rb +31 -30
- metadata +18 -4
@@ -1,28 +1,35 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module ColorConverters
|
2
4
|
class XyzConverter < BaseConverter
|
3
|
-
def self.matches?(
|
4
|
-
return false unless
|
5
|
-
|
6
|
-
color_input.keys - [:x, :y, :z] == []
|
7
|
-
end
|
5
|
+
def self.matches?(colour_input)
|
6
|
+
return false unless colour_input.is_a?(Hash)
|
8
7
|
|
9
|
-
|
10
|
-
{ x: 95.047, y: 100.0, z: 108.883 }
|
8
|
+
colour_input.keys - [:x, :y, :z] == []
|
11
9
|
end
|
12
10
|
|
13
11
|
def self.bounds
|
14
12
|
{ x: [0.0, 100.0], y: [0.0, 100.0], z: [0.0, 110.0] }
|
15
13
|
end
|
16
14
|
|
15
|
+
def self.d65
|
16
|
+
{ x: 95.047, y: 100.0, z: 108.883 }
|
17
|
+
end
|
18
|
+
|
17
19
|
private
|
18
20
|
|
19
|
-
def
|
20
|
-
|
21
|
-
|
21
|
+
# def clamp_input(colour_input)
|
22
|
+
# colour_input.each { |key, value| colour_input[key] = value.clamp(*XyzConverter.bounds[key]) }
|
23
|
+
# end
|
24
|
+
|
25
|
+
def validate_input(colour_input)
|
26
|
+
XyzConverter.bounds.collect do |key, range|
|
27
|
+
"#{key} must be between #{range[0]} and #{range[1]}" unless colour_input[key].to_f.between?(*range)
|
28
|
+
end.compact
|
22
29
|
end
|
23
30
|
|
24
|
-
def input_to_rgba(
|
25
|
-
r, g, b = XyzConverter.xyz_to_rgb(
|
31
|
+
def input_to_rgba(colour_input)
|
32
|
+
r, g, b = XyzConverter.xyz_to_rgb(colour_input)
|
26
33
|
|
27
34
|
[r, g, b, 1.0]
|
28
35
|
end
|
data/lib/color_converters.rb
CHANGED
@@ -1,30 +1,31 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'forwardable'
|
4
|
-
|
5
|
-
require 'color_converters/version'
|
6
|
-
|
7
|
-
require 'color_converters/color'
|
8
|
-
require 'color_converters/base_converter'
|
9
|
-
|
10
|
-
|
11
|
-
require 'color_converters/converters/
|
12
|
-
require 'color_converters/converters/
|
13
|
-
require 'color_converters/converters/
|
14
|
-
require 'color_converters/converters/
|
15
|
-
require 'color_converters/converters/
|
16
|
-
require 'color_converters/converters/
|
17
|
-
require 'color_converters/converters/
|
18
|
-
require 'color_converters/converters/
|
19
|
-
require 'color_converters/converters/
|
20
|
-
require 'color_converters/converters/
|
21
|
-
require 'color_converters/converters/
|
22
|
-
|
23
|
-
|
24
|
-
require 'color_converters/converters/
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
class
|
29
|
-
|
30
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'forwardable'
|
4
|
+
|
5
|
+
require 'color_converters/version'
|
6
|
+
|
7
|
+
require 'color_converters/color'
|
8
|
+
require 'color_converters/base_converter'
|
9
|
+
|
10
|
+
# Converters
|
11
|
+
require 'color_converters/converters/rgb_converter'
|
12
|
+
require 'color_converters/converters/rgb_string_converter'
|
13
|
+
require 'color_converters/converters/hex_converter'
|
14
|
+
require 'color_converters/converters/hsl_converter'
|
15
|
+
require 'color_converters/converters/hsl_string_converter'
|
16
|
+
require 'color_converters/converters/hsv_converter'
|
17
|
+
require 'color_converters/converters/cmyk_converter'
|
18
|
+
require 'color_converters/converters/xyz_converter'
|
19
|
+
require 'color_converters/converters/cielab_converter'
|
20
|
+
require 'color_converters/converters/cielch_converter'
|
21
|
+
require 'color_converters/converters/oklab_converter'
|
22
|
+
require 'color_converters/converters/oklch_converter'
|
23
|
+
|
24
|
+
require 'color_converters/converters/name_converter'
|
25
|
+
require 'color_converters/converters/null_converter'
|
26
|
+
|
27
|
+
module ColorConverters
|
28
|
+
class Error < StandardError; end
|
29
|
+
class InvalidColorError < Error; end
|
30
|
+
# Your code goes here...
|
31
|
+
end
|
metadata
CHANGED
@@ -1,28 +1,42 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: color_converters
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Louis Davis
|
8
8
|
bindir: bin
|
9
9
|
cert_chain: []
|
10
|
-
date: 2025-08-
|
10
|
+
date: 2025-08-30 00:00:00.000000000 Z
|
11
11
|
dependencies:
|
12
12
|
- !ruby/object:Gem::Dependency
|
13
13
|
name: activesupport
|
14
|
+
requirement: !ruby/object:Gem::Requirement
|
15
|
+
requirements:
|
16
|
+
- - ">="
|
17
|
+
- !ruby/object:Gem::Version
|
18
|
+
version: 6.1.3
|
19
|
+
type: :runtime
|
20
|
+
prerelease: false
|
21
|
+
version_requirements: !ruby/object:Gem::Requirement
|
22
|
+
requirements:
|
23
|
+
- - ">="
|
24
|
+
- !ruby/object:Gem::Version
|
25
|
+
version: 6.1.3
|
26
|
+
- !ruby/object:Gem::Dependency
|
27
|
+
name: color_swatch_collection
|
14
28
|
requirement: !ruby/object:Gem::Requirement
|
15
29
|
requirements:
|
16
30
|
- - "~>"
|
17
31
|
- !ruby/object:Gem::Version
|
18
|
-
version:
|
32
|
+
version: 0.1.0
|
19
33
|
type: :runtime
|
20
34
|
prerelease: false
|
21
35
|
version_requirements: !ruby/object:Gem::Requirement
|
22
36
|
requirements:
|
23
37
|
- - "~>"
|
24
38
|
- !ruby/object:Gem::Version
|
25
|
-
version:
|
39
|
+
version: 0.1.0
|
26
40
|
- !ruby/object:Gem::Dependency
|
27
41
|
name: matrix
|
28
42
|
requirement: !ruby/object:Gem::Requirement
|