ukey 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/ukey/cli.rb +33 -4
- data/lib/ukey/config.rb +13 -1
- data/lib/ukey/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0136caa1e98297deb73bd6ecc226cbc395efe9f8
|
4
|
+
data.tar.gz: 7bb973b4564b2be6b3545a8a10604f0c55292c58
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0d7dfbf807f4fff2d5ed867ae7dcf3c8ca50df5580abc07299c82d07cf0f73b15c3901e94bc0888937ed8c4df2d499e6508681ebed602bb059c950b07ca001aa
|
7
|
+
data.tar.gz: 1c4b2a9b4c322328d91228961ca4a8e179ec68674173f6939d0cd69da1ff097c24157a5f6e8400ec8b775b3d0b5b5459782529c7d0c7079ae5a03091c03437ac
|
data/Gemfile.lock
CHANGED
data/lib/ukey/cli.rb
CHANGED
@@ -8,13 +8,21 @@ module Ukey
|
|
8
8
|
class CLI < Thor
|
9
9
|
desc 'watch', 'Watches for USB device - locks screen if removed'
|
10
10
|
def watch
|
11
|
+
interval = Config.interval
|
12
|
+
device = Config.device
|
13
|
+
watcher = UsbWatcher.new(device_name: device, interval: interval)
|
11
14
|
puts 'Watching...'
|
12
|
-
watcher = UsbWatcher.new(device_name: Config.device)
|
13
15
|
watcher.watch
|
16
|
+
rescue DeviceNotSetError
|
17
|
+
say(red('Device not set. Please run "ukey select_device"'))
|
14
18
|
end
|
15
19
|
|
16
|
-
desc 'select_device',
|
17
|
-
|
20
|
+
desc 'select_device [device]', <<~DESC
|
21
|
+
Show all connected devices and allows selecting one (if run without first
|
22
|
+
argument)
|
23
|
+
DESC
|
24
|
+
def select_device(device = nil)
|
25
|
+
return device_selected(device) if device
|
18
26
|
watcher = UsbWatcher.new
|
19
27
|
devices = watcher.list_devices
|
20
28
|
choose do |menu|
|
@@ -25,11 +33,32 @@ module Ukey
|
|
25
33
|
end
|
26
34
|
end
|
27
35
|
|
36
|
+
desc 'select_interval [interval (sec)]', <<~DESC
|
37
|
+
Sets interval for checking if USB device removed
|
38
|
+
DESC
|
39
|
+
def select_interval(interval = nil)
|
40
|
+
interval = HighLine.ask('Enter interval (sec):', Integer) unless interval
|
41
|
+
interval_selected(interval)
|
42
|
+
end
|
43
|
+
|
28
44
|
private
|
29
45
|
|
30
46
|
def device_selected(device)
|
31
47
|
Config.device = device
|
32
|
-
say("#{device} selected. Config written.")
|
48
|
+
say(green("#{device} selected. Config written."))
|
49
|
+
end
|
50
|
+
|
51
|
+
def interval_selected(interval)
|
52
|
+
Config.interval = interval
|
53
|
+
say(green("#{interval}s interval selected. Config written."))
|
54
|
+
end
|
55
|
+
|
56
|
+
def green(msg)
|
57
|
+
HighLine.color(msg, :green, :bold)
|
58
|
+
end
|
59
|
+
|
60
|
+
def red(msg)
|
61
|
+
HighLine.color(msg, :red, :bold)
|
33
62
|
end
|
34
63
|
end
|
35
64
|
end
|
data/lib/ukey/config.rb
CHANGED
@@ -4,6 +4,9 @@ require 'yaml'
|
|
4
4
|
require 'fileutils'
|
5
5
|
|
6
6
|
module Ukey
|
7
|
+
# device not set error class
|
8
|
+
class DeviceNotSetError < StandardError; end
|
9
|
+
|
7
10
|
# reads and writes the configuration for ukey
|
8
11
|
module Config
|
9
12
|
class << self
|
@@ -18,7 +21,16 @@ module Ukey
|
|
18
21
|
end
|
19
22
|
|
20
23
|
def device
|
21
|
-
load_config[:device] || raise(
|
24
|
+
load_config[:device] || raise(DeviceNotSetError)
|
25
|
+
end
|
26
|
+
|
27
|
+
def interval=(interval)
|
28
|
+
config = load_config.merge(interval: interval.to_i)
|
29
|
+
write_config(config)
|
30
|
+
end
|
31
|
+
|
32
|
+
def interval
|
33
|
+
(load_config[:interval] || 5).to_i
|
22
34
|
end
|
23
35
|
|
24
36
|
def write_config(config)
|
data/lib/ukey/version.rb
CHANGED