windows-shutdown-timer 1.0.3 → 1.0.4
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/lib/windows-shutdown-timer.rb +18 -21
- metadata +6 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d2bbab4a47efab295daec7503f914f181ca4e9db
|
4
|
+
data.tar.gz: 33e69351d18e713fec57faeb4449d53b3453a10d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7a2e79b59b7f80d8993c46556a527e33968b1ec7ffdaf88c9bc357c734aa1fca7bcf95b3e2f0e8994d833dc0718703a24715f8f1238decbb1e66fb9a777b40a2
|
7
|
+
data.tar.gz: 4b56f2e381cdcd4ff42cd4099afc0d8ef557254a19b4fa4d1eab2736af96c061609a09a7874e7cfb391d74b251edf283995a50f2d248a2753e3f416f0096b7c7
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'optparse'
|
2
|
+
require 'open-uri'
|
2
3
|
require 'net/http'
|
3
4
|
require 'fileutils'
|
4
5
|
require 'zip'
|
@@ -6,17 +7,15 @@ require 'zip'
|
|
6
7
|
module WindowsShutdownTimer
|
7
8
|
# Shutdown!
|
8
9
|
class ShutdownStarter
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
COMMAND_INSOMNIA = "start #{PATH_TO_INSOMNIA}"
|
10
|
+
INSOMNIA = 'Insomnia.exe'.freeze
|
11
|
+
PATH_TO_TEMP = (Dir.tmpdir + '/windows-shutdown-timer').freeze
|
12
|
+
PATH_TO_INSOMNIA = (PATH_TO_TEMP + '/' + INSOMNIA).freeze
|
13
|
+
PATH = 'insomnia/64-bit'.freeze
|
14
|
+
COMMAND_SHUTDOWN = 'shutdown /s /t '.freeze
|
15
|
+
COMMAND_CANCEL_SHUTDOWN = 'shutdown /a'.freeze
|
16
|
+
COMMAND_INSOMNIA = "start #{PATH_TO_INSOMNIA}".freeze
|
17
17
|
|
18
18
|
def initialize(arguments)
|
19
|
-
|
20
19
|
# Get the first arg as the time
|
21
20
|
@time = %w(-h --help -c).include?(arguments.first) ? nil : arguments.shift
|
22
21
|
|
@@ -45,7 +44,7 @@ module WindowsShutdownTimer
|
|
45
44
|
def start_timer
|
46
45
|
unless File.file?(PATH_TO_INSOMNIA)
|
47
46
|
puts 'Downloading Insomnia.exe'
|
48
|
-
download('dlaa.me
|
47
|
+
download('http://dlaa.me/Samples/Insomnia/Insomnia.zip', 'Insomnia.zip')
|
49
48
|
unzip('Insomnia.zip', 'insomnia')
|
50
49
|
FileUtils.mkdir(PATH_TO_TEMP)
|
51
50
|
FileUtils.mv('insomnia/64-bit/Insomnia.exe', PATH_TO_INSOMNIA)
|
@@ -53,26 +52,25 @@ module WindowsShutdownTimer
|
|
53
52
|
FileUtils.rm_rf('insomnia')
|
54
53
|
FileUtils.rm('Insomnia.zip')
|
55
54
|
end
|
56
|
-
if @time
|
55
|
+
if @time.nil?
|
57
56
|
puts 'Please enter the number of minutes until shutdown (0 to cancel):'
|
58
|
-
@time = gets
|
57
|
+
@time = gets.to_i
|
59
58
|
end
|
60
|
-
if @time.
|
59
|
+
if @time.zero?
|
61
60
|
`#{COMMAND_CANCEL_SHUTDOWN}`
|
62
|
-
elsif @time
|
61
|
+
elsif @time == -1
|
63
62
|
`#{COMMAND_INSOMNIA}`
|
64
63
|
else
|
65
|
-
time_in_seconds = @time
|
64
|
+
time_in_seconds = @time * 60
|
66
65
|
`#{COMMAND_SHUTDOWN} #{time_in_seconds}`
|
67
66
|
`#{COMMAND_INSOMNIA}`
|
68
67
|
end
|
69
68
|
end
|
70
69
|
|
71
|
-
def download(
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
file.write(resp.body)
|
70
|
+
def download(url, file_name)
|
71
|
+
File.open(file_name, 'wb') do |saved_file|
|
72
|
+
open(url, 'rb') do |read_file|
|
73
|
+
saved_file.write(read_file.read)
|
76
74
|
end
|
77
75
|
end
|
78
76
|
end
|
@@ -86,6 +84,5 @@ module WindowsShutdownTimer
|
|
86
84
|
end
|
87
85
|
end
|
88
86
|
end
|
89
|
-
|
90
87
|
end
|
91
88
|
end
|
metadata
CHANGED
@@ -1,38 +1,31 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: windows-shutdown-timer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John Carlson
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-12-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rubyzip
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "~>"
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: 1.0.0
|
20
17
|
- - ">="
|
21
18
|
- !ruby/object:Gem::Version
|
22
|
-
version: 1.
|
19
|
+
version: 1.2.1
|
23
20
|
type: :runtime
|
24
21
|
prerelease: false
|
25
22
|
version_requirements: !ruby/object:Gem::Requirement
|
26
23
|
requirements:
|
27
|
-
- - "~>"
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: 1.0.0
|
30
24
|
- - ">="
|
31
25
|
- !ruby/object:Gem::Version
|
32
|
-
version: 1.
|
26
|
+
version: 1.2.1
|
33
27
|
description: Shut down Windows machine after keeping it awake
|
34
|
-
email:
|
35
|
-
- jawnnypoo@gmail.com
|
28
|
+
email: jawnnypoo at Google's popular web mail service
|
36
29
|
executables:
|
37
30
|
- windows-shutdown-timer
|
38
31
|
extensions: []
|
@@ -61,7 +54,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
61
54
|
version: '0'
|
62
55
|
requirements: []
|
63
56
|
rubyforge_project:
|
64
|
-
rubygems_version: 2.
|
57
|
+
rubygems_version: 2.6.14.1
|
65
58
|
signing_key:
|
66
59
|
specification_version: 4
|
67
60
|
summary: Starts a timer, keeping the Windows machine awake and shutting it down when
|