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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5a3f5967d2f3e23a51e2919c394d58307166f056
4
- data.tar.gz: e8e5cb2eb3b81e61fc7aeeffb627e04ae432ed78
3
+ metadata.gz: 0136caa1e98297deb73bd6ecc226cbc395efe9f8
4
+ data.tar.gz: 7bb973b4564b2be6b3545a8a10604f0c55292c58
5
5
  SHA512:
6
- metadata.gz: 3fdbe04631640dba136fb3122e94a1e17bd30ffdf3e8583c600294c37ec9ad69a7bdfb7901b01a2ff08076ef28721f5b01e58790ed1b4128fdc11d1b164d3803
7
- data.tar.gz: 16124293d41a5da7c34f62223b85b04c054fe15ac3dd24c1b848773e9f44f411b106167745aa88b07a3c4a1b711168b3af19c0504b7db6691fb85d94e4db1d4e
6
+ metadata.gz: 0d7dfbf807f4fff2d5ed867ae7dcf3c8ca50df5580abc07299c82d07cf0f73b15c3901e94bc0888937ed8c4df2d499e6508681ebed602bb059c950b07ca001aa
7
+ data.tar.gz: 1c4b2a9b4c322328d91228961ca4a8e179ec68674173f6939d0cd69da1ff097c24157a5f6e8400ec8b775b3d0b5b5459782529c7d0c7079ae5a03091c03437ac
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ukey (0.1.0)
4
+ ukey (0.1.1)
5
5
  highline (~> 1.7)
6
6
  libusb (~> 0.6)
7
7
  thor (~> 0.20)
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', 'Show all connected devices and allows selecting one'
17
- def select_device
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('Device not set.')
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
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module Ukey
3
- VERSION = '0.1.1'
3
+ VERSION = '0.1.2'
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ukey
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dorian Karter