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.
@@ -1,28 +1,35 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module ColorConverters
2
4
  class XyzConverter < BaseConverter
3
- def self.matches?(color_input)
4
- return false unless color_input.is_a?(Hash)
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
- def self.d65
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 validate_input(color_input)
20
- bounds = XyzConverter.bounds
21
- color_input[:x].to_f.between?(*bounds[:x]) && color_input[:y].to_f.between?(*bounds[:y]) && color_input[:z].to_f.between?(*bounds[:z])
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(color_input)
25
- r, g, b = XyzConverter.xyz_to_rgb(color_input)
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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ColorConverters
4
- VERSION = '0.1.3'
4
+ VERSION = '0.1.5'
5
5
  end
@@ -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
- require 'color_converters/converters/rgb_converter'
11
- require 'color_converters/converters/rgb_string_converter'
12
- require 'color_converters/converters/hex_converter'
13
- require 'color_converters/converters/hsl_converter'
14
- require 'color_converters/converters/hsl_string_converter'
15
- require 'color_converters/converters/hsv_converter'
16
- require 'color_converters/converters/cmyk_converter'
17
- require 'color_converters/converters/xyz_converter'
18
- require 'color_converters/converters/cielab_converter'
19
- require 'color_converters/converters/cielch_converter'
20
- require 'color_converters/converters/oklab_converter'
21
- require 'color_converters/converters/oklch_converter'
22
-
23
- require 'color_converters/converters/name_converter'
24
- require 'color_converters/converters/null_converter'
25
-
26
- module ColorConverters
27
- class Error < StandardError; end
28
- class InvalidColorError < Error; end
29
- # Your code goes here...
30
- end
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.3
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-18 00:00:00.000000000 Z
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: 8.0.2
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: 8.0.2
39
+ version: 0.1.0
26
40
  - !ruby/object:Gem::Dependency
27
41
  name: matrix
28
42
  requirement: !ruby/object:Gem::Requirement