Class: RapiroWrapper::Eyes

Inherits:
Led
  • Object
show all
Defined in:
lib/rapiro_wrapper/led/eyes.rb

Overview

Eyes class for RAPIRO

Instance Method Summary collapse

Constructor Details

#initialize(param = nil) ⇒ Eyes

Returns a new instance of Eyes.



4
5
6
7
8
9
10
11
12
13
14
# File 'lib/rapiro_wrapper/led/eyes.rb', line 4

def initialize(param = nil)
  if param.nil?
    @value = '#000080'
  elsif param =~ /^#([0-9a-fA-F]{2}){3}$/
    @value = param
  elsif param.instance_of?(Hash) && param.key?(:red) && param.key?(:green) && param.key?(:blue)
    @value = format('#%02x%02x%02x', *param.values_at(:red, :green, :blue))
  else
    fail ArgumentError
  end
end

Instance Method Details

#to_codeObject



16
17
18
19
20
21
# File 'lib/rapiro_wrapper/led/eyes.rb', line 16

def to_code
  vary = @value.match(/^#([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/)
               .to_a
  vary.shift
  format('R%03dG%03dB%03d', *vary.map { |v| Integer("0x#{v}") })
end