class Milight::RgbwAll

Constants

ALL_OFF
ALL_ON
BRIGHTNESS
COLOUR
WHITE

Public Class Methods

new(commander, colour_helper: Milight::Colour) click to toggle source
# File lib/milight/rgbw_all.rb, line 12
def initialize(commander, colour_helper: Milight::Colour)
  @commander = commander
  @colour_helper = colour_helper
end

Public Instance Methods

brightness(value) click to toggle source
# File lib/milight/rgbw_all.rb, line 38
def brightness(value)
  brightness = Milight::Brightness.new(value)
  send_brightness_cmd brightness
  self
end
colour(colour) click to toggle source
# File lib/milight/rgbw_all.rb, line 44
def colour(colour)
  colour_value = @colour_helper.new(colour)
  colour_value.greyscale? ? send_white_cmd : send_colour_cmd(colour_value)
  send_brightness_cmd colour_value
  self
end
hue(hue) click to toggle source
# File lib/milight/rgbw_all.rb, line 32
def hue(hue)
  colour = @colour_helper.new(hue)
  send_colour_cmd colour
  self
end
off() click to toggle source
# File lib/milight/rgbw_all.rb, line 22
def off
  @commander.send_command ALL_OFF
  self
end
on() click to toggle source
# File lib/milight/rgbw_all.rb, line 17
def on
  @commander.send_command ALL_ON
  self
end
white() click to toggle source
# File lib/milight/rgbw_all.rb, line 27
def white
  send_white_cmd
  self
end

Private Instance Methods

select() click to toggle source
# File lib/milight/rgbw_all.rb, line 68
def select
  on
end
send_brightness_cmd(brightness) click to toggle source
# File lib/milight/rgbw_all.rb, line 63
def send_brightness_cmd brightness
  select
  @commander.send_command BRIGHTNESS, brightness.to_milight_brightness
end
send_colour_cmd(colour) click to toggle source
# File lib/milight/rgbw_all.rb, line 58
def send_colour_cmd colour
  select
  @commander.send_command COLOUR, colour.to_milight_colour
end
send_white_cmd() click to toggle source
# File lib/milight/rgbw_all.rb, line 53
def send_white_cmd
  select
  @commander.send_command WHITE
end