firefly_server 0.1.3 → 0.1.5

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: 476df5bfd719fcb644e35b7c9d00b5d1de23e57c6bc7a8bd42558fdb511f3fec
4
+ data.tar.gz: 21c888d6b489c3fca4739c0a21257618129796aa70ddfcf7aaa078f2f0e90a54
5
5
  SHA512:
6
- metadata.gz: 9afd135d1650259ad139cd162dc9b04b73824aa530b227ec0034e5c856a8167c8d8a09e3260c4e77493a7571434c8dfa348868270c891987eecf2a2eec0a979d
7
- data.tar.gz: bdaa9c8cb516ab2324562103150d040a188c7c5baf29f824d2d5e3c71a2cdbab366068f77f6cd58e257dd577382e139732246c941fb187479e06de2b08796ff8
6
+ metadata.gz: 615797e1ac543e67d5ccea3e104ea9d3b29666564e7ad9143114afd61b5e2b2711663b98475093f5809ddbc0f7f4052ddaa9992bc5970e374057c657f88f73b0
7
+ data.tar.gz: b61ec9285b97add32bc4ad5b8161e6be4c59a5689184dad1cdb776edeacd41e2d14b17b98e23a490bd8b4db4b375c202adeeb606a3b0cbc0e702cdcba3861c62
@@ -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
@@ -40,7 +40,12 @@ class FireflyServer
40
40
  # trigger change callbacks
41
41
  callbacks = (configuration.file_change_callbacks + [file_change_callback]).compact
42
42
  if !callbacks.empty?
43
- change_event = ChangeEvent.new(ignored: ignored, modified: modified, added: added, removed: removed)
43
+ change_event = ChangeEvent.new(
44
+ ignored: ignored,
45
+ modified: modified,
46
+ added: added,
47
+ removed: removed
48
+ )
44
49
  callbacks.each do |callback|
45
50
  callback.call(change_event)
46
51
  end
@@ -60,6 +65,10 @@ class FireflyServer
60
65
  end
61
66
  end
62
67
 
68
+ def files
69
+ (added + modified + removed)
70
+ end
71
+
63
72
  CATEGORIES.each do |accessor|
64
73
  define_method("#{accessor}?") { send(accessor).any? }
65
74
  define_method("#{accessor}") { Array(instance_variable_get("@#{accessor}")) }
@@ -1,3 +1,3 @@
1
1
  class FireflyServer
2
- VERSION = "0.1.3"
2
+ VERSION = "0.1.5"
3
3
  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
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.5
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: 2023-04-03 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.0.3
113
112
  signing_key:
114
113
  specification_version: 4
115
114
  summary: Restarts a web server when watched files or directories are changed.