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