firefly_server 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: bb5687fb5987282aabd7bef45c9e809f4c441073
4
- data.tar.gz: ea78cfbefe2a30a37dab8e6d6453e2a7749c6f50
2
+ SHA256:
3
+ metadata.gz: 405b9ef168240c98cbff1894205a76cb8ee7e9c71d6f670cab90680d7d55b55d
4
+ data.tar.gz: c0c0c513a8509b4081a22ff3e9144020dcb82db8ee6ed0d2dee13d64f0ef5fb4
5
5
  SHA512:
6
- metadata.gz: 9afd135d1650259ad139cd162dc9b04b73824aa530b227ec0034e5c856a8167c8d8a09e3260c4e77493a7571434c8dfa348868270c891987eecf2a2eec0a979d
7
- data.tar.gz: bdaa9c8cb516ab2324562103150d040a188c7c5baf29f824d2d5e3c71a2cdbab366068f77f6cd58e257dd577382e139732246c941fb187479e06de2b08796ff8
6
+ metadata.gz: 2379994efd9b6f2cb58d63730273de356e5899b5dabedd84a6f863566032dd4cb58ef7bb533e55b932a1e2e4684404d153ba8c97ee9d8d7d84867eb08cbab752
7
+ data.tar.gz: 50598ea448729dbd8b119ea436382a87ace73bd95e93dd089d03e8f8d499a582b61dbee95c721f33dd85d74eb56672f7f532942a1fc5c6fa4c7a43e5041ee0bf
@@ -24,7 +24,7 @@ Gem::Specification.new do |spec|
24
24
  # custom
25
25
  spec.add_runtime_dependency("listen", "~> 3.1")
26
26
  # defaults
27
- spec.add_development_dependency("bundler", "~> 1.15")
27
+ spec.add_development_dependency("bundler", "~> 2.0")
28
28
  spec.add_development_dependency("rake", "~> 10.0")
29
29
  spec.add_development_dependency("minitest", "~> 5.0")
30
30
  end
@@ -15,13 +15,38 @@ class FireflyServer
15
15
  self
16
16
  end
17
17
 
18
+ def process_exists?(pid)
19
+ Process.kill(0, pid)
20
+ true
21
+ rescue Errno::ESRCH
22
+ false
23
+ end
24
+
18
25
  def start!
26
+ server_pid = nil
19
27
  configuration.validate!
20
28
  # stop server if it is running
21
29
  %x(#{configuration.stop_server})
22
30
  # trap signals and exit
23
31
  configuration.exit_signals.each do |signal|
24
32
  Signal.trap(signal) do
33
+ # attempt to stop server
34
+ if server_pid && process_exists?(server_pid)
35
+ puts "Stopping Server: #{configuration.stop_server}"
36
+ %x(#{configuration.stop_server})
37
+ # give server a moment to exit
38
+ begin
39
+ Timeout.timeout(2) do
40
+ Process.wait(server_pid)
41
+ end
42
+ rescue Timeout::Error
43
+ end
44
+ end
45
+ # reset shell in case of server crash messing with prompt (common byebug problem)
46
+ if server_pid && process_exists?(server_pid)
47
+ %x{reset}
48
+ puts 'Server Stop Failed: Shell was "reset" to ensure access after possible crash'
49
+ end
25
50
  puts "\rStopping Firefly Server"
26
51
  exit 130
27
52
  end
@@ -1,3 +1,3 @@
1
1
  class FireflyServer
2
- VERSION = "0.1.3"
2
+ VERSION = "0.1.4"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: firefly_server
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Griffith Chaffee
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-01-10 00:00:00.000000000 Z
11
+ date: 2020-04-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: listen
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.15'
33
+ version: '2.0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '1.15'
40
+ version: '2.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -108,8 +108,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
108
108
  - !ruby/object:Gem::Version
109
109
  version: '0'
110
110
  requirements: []
111
- rubyforge_project:
112
- rubygems_version: 2.5.1
111
+ rubygems_version: 3.1.2
113
112
  signing_key:
114
113
  specification_version: 4
115
114
  summary: Restarts a web server when watched files or directories are changed.