Sha256: dd5f170d5f6154e835e8f1fac8147532258c8232f6c66bb96d4e2b054aa6288e
Contents?: true
Size: 1020 Bytes
Versions: 5
Compression:
Stored size: 1020 Bytes
Contents
require_relative 'colors/color' require_relative 'colors/hue_saturation' require_relative 'colors/color_temperature' require_relative 'colors/xy' require_relative 'colors/rgb' module Hue module Colors def self.parse(*args) case args.size when 1 Colors::ColorTemperature.new(args.first) when 2 a,b = args.first.to_f, args.last.to_f if a > 1.0 Colors::HueSaturation.new(args.first, args.last) else Colors::XY.new(*args) end when 3 Colors::RGB.new(*args) else raise Error.new("Unable to parse to color: #{args.inspect}") end end def self.parse_state(state) case state['colormode'] when 'ct' Colors::ColorTemperature.new(state['ct']) when 'xy' Colors::XY.new(*state['xy']) when 'hs' Colors::HueSaturation.new(state['hue'], state['sat']) else raise Error.new("Unknown or missing state: #{state.inspect}") end end end end
Version data entries
5 entries across 5 versions & 1 rubygems
Version | Path |
---|---|
hue-lib-0.7.4 | lib/hue/colors.rb |
hue-lib-0.7.3 | lib/hue/colors.rb |
hue-lib-0.7.2 | lib/hue/colors.rb |
hue-lib-0.7.1 | lib/hue/colors.rb |
hue-lib-0.7.0 | lib/hue/colors.rb |