Class: Ukey::CLI

Inherits:
Thor
  • Object
show all
Defined in:
lib/ukey/cli.rb

Overview

Command line interface for ukey

Instance Method Summary collapse

Instance Method Details

#select_device(device = nil) ⇒ Object



24
25
26
27
28
29
30
31
32
33
34
# File 'lib/ukey/cli.rb', line 24

def select_device(device = nil)
  return device_selected(device) if device
  watcher = UsbWatcher.new
  devices = watcher.list_devices
  choose do |menu|
    menu.prompt = "Select a device (1-#{devices.count}):"
    devices.each do |dev|
      menu.choice(dev, &method(:device_selected))
    end
  end
end

#select_interval(interval = nil) ⇒ Object



39
40
41
42
# File 'lib/ukey/cli.rb', line 39

def select_interval(interval = nil)
  interval = HighLine.ask('Enter interval (sec):', Integer) unless interval
  interval_selected(interval)
end

#versionObject



45
46
47
# File 'lib/ukey/cli.rb', line 45

def version
  say Ukey::VERSION
end

#watchObject



10
11
12
13
14
15
16
17
18
# File 'lib/ukey/cli.rb', line 10

def watch
  interval = Config.interval
  device = Config.device
  watcher = UsbWatcher.new(device_name: device, interval: interval)
  puts 'Watching...'
  watcher.watch
rescue DeviceNotSetError
  say(red('Device not set. Please run "ukey select_device"'))
end