firefly_server 0.1.3 → 0.1.5

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
- 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.