lib/fusuma/device.rb in fusuma-0.7.2 vs lib/fusuma/device.rb in fusuma-0.8.0

- old
+ new

@@ -3,20 +3,35 @@ class Device class << self attr_writer :names def names - return @names unless @names.nil? + return @names unless no_name? device_names = fetch_device_names MultiLogger.debug(device_names: device_names) raise 'Touchpad is not found' if device_names.empty? @names = device_names rescue RuntimeError => ex MultiLogger.error(ex.message) exit 1 end + # @params [String] + def given_device=(name) + return if name.nil? + if names.include? name + self.names = [name] + return + end + MultiLogger.error("Device #{name} is not found") + exit 1 + end + private + + def no_name? + @names.nil? || @names.empty? + end # @return [Array] def fetch_device_names [].tap do |devices| current_device = nil