Module: ColorContrastCalc::ColorFunctionParser

Defined in:
lib/color_contrast_calc/color_function_parser.rb

Overview

Module that converts RGB/HSL/HWB functions into data apt for calculation.

Defined Under Namespace

Modules: Scheme, Unit Classes: ColorFunction, FunctionParser, Parser, Validator, ValueParser

Class Method Summary collapse

Class Method Details

.parse(color_value) ⇒ ColorFunction

Parse an RGB/HSL/HWB function and store the result as an instance of ColorFunctionParser::ColorFunction.

Parameters:

Returns:

  • (ColorFunction)

    An instance of ColorFunctionParser::ColorFunction



625
626
627
628
# File 'lib/color_contrast_calc/color_function_parser.rb', line 625

def self.parse(color_value)
  parsed_value = Parser.main.read_scheme!(StringScanner.new(color_value))
  ColorFunction.create(parsed_value, color_value)
end

.to_rgb(color_value) ⇒ Array<Integer>

Return An RGB value gained from an RGB/HSL/HWB function.

Returns:

  • (Array<Integer>)

    RGB value represented as an array



635
636
637
# File 'lib/color_contrast_calc/color_function_parser.rb', line 635

def self.to_rgb(color_value)
  parse(color_value).rgb
end

.to_rgba(color_value) ⇒ Array<Integer, Float>

Return An RGBA value gained from an RGB/HSL/HWB function. The opacity is normalized to a floating number between 0 and 1.

Returns:

  • (Array<Integer, Float>)

    RGBA value represented as an array



645
646
647
# File 'lib/color_contrast_calc/color_function_parser.rb', line 645

def self.to_rgba(color_value)
  parse(color_value).rgba
end