firefly_server 0.1.4 → 0.1.7

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
2
  SHA256:
3
- metadata.gz: 405b9ef168240c98cbff1894205a76cb8ee7e9c71d6f670cab90680d7d55b55d
4
- data.tar.gz: c0c0c513a8509b4081a22ff3e9144020dcb82db8ee6ed0d2dee13d64f0ef5fb4
3
+ metadata.gz: b57e4739588aaa5c81c4b8157d6da407dfcca422eb94c4ab832b4f7c3d82e964
4
+ data.tar.gz: 731ac255dff0bcfb6ee6410317140bb980c5018eefb97332cfeb79416f3d63ec
5
5
  SHA512:
6
- metadata.gz: 2379994efd9b6f2cb58d63730273de356e5899b5dabedd84a6f863566032dd4cb58ef7bb533e55b932a1e2e4684404d153ba8c97ee9d8d7d84867eb08cbab752
7
- data.tar.gz: 50598ea448729dbd8b119ea436382a87ace73bd95e93dd089d03e8f8d499a582b61dbee95c721f33dd85d74eb56672f7f532942a1fc5c6fa4c7a43e5041ee0bf
6
+ metadata.gz: 573b908a410491864a5b781b143efb8573169dc3af11b2a60de66b8872ed7856176f02cb33c1058a99a76022ede2249234d3304180107017fb30a640f380f84a
7
+ data.tar.gz: d3e4d24fcc9ea05a70f3b5ed92d3c44020da4d20c47e89f4bcdc7a477f02a4a309e3e651b7380d06cb704bef22c103748f94beeb8485bb29deff08f33390f9af
@@ -4,7 +4,8 @@ class FireflyServer
4
4
  exit_signals
5
5
  watch_paths
6
6
  ignore_paths
7
- file_change_callbacks
7
+ on_change_callbacks
8
+ on_start_callbacks
8
9
  ])
9
10
  attr_accessor(*%w[
10
11
  start_server
@@ -22,19 +23,32 @@ class FireflyServer
22
23
  # watcher defaults
23
24
  self.watch_paths = []
24
25
  self.ignore_paths = []
25
- self.file_change_callbacks = []
26
+ self.on_change_callbacks = []
27
+ self.on_start_callbacks = []
26
28
  # override defaults
27
29
  params.each do |key, value|
28
30
  send("#{key}=", value)
29
31
  end
30
32
  end
31
33
 
32
- %w[ exit_signals watch_paths ignore_paths file_change_callbacks ].each do |accessor|
34
+ # accessors that require array values
35
+ %w[
36
+ exit_signals
37
+ watch_paths
38
+ ignore_paths
39
+ on_change_callbacks
40
+ on_start_callbacks
41
+ ].each do |accessor|
33
42
  define_method("#{accessor}=") { |values| instance_variable_set("@#{accessor}", Array(values)) }
34
43
  end
35
44
 
36
45
  def on_change(&block)
37
- file_change_callbacks << block if block
46
+ on_change_callbacks << block if block
47
+ self
48
+ end
49
+
50
+ def on_start(&block)
51
+ on_start_callbacks << block if block
38
52
  self
39
53
  end
40
54
 
@@ -9,7 +9,7 @@ class FireflyServer
9
9
  @listener = nil
10
10
  end
11
11
 
12
- def watch!(&file_change_callback)
12
+ def watch!(&on_change_callback)
13
13
  # prevent multiple listeners
14
14
  listener.stop if listener
15
15
  # always mute the Listen logger due to verbosity
@@ -38,9 +38,14 @@ class FireflyServer
38
38
  end
39
39
  end
40
40
  # trigger change callbacks
41
- callbacks = (configuration.file_change_callbacks + [file_change_callback]).compact
41
+ callbacks = (configuration.on_change_callbacks + [on_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.4"
2
+ VERSION = "0.1.7"
3
3
  end
@@ -63,6 +63,10 @@ class FireflyServer
63
63
  %x(#{configuration.stop_server})
64
64
  end
65
65
  end
66
+ # on_start callbacks
67
+ configuration.on_start_callbacks.each do |on_start_callback|
68
+ on_start_callback.call(self)
69
+ end
66
70
  # server loop
67
71
  restart_attempt = 0
68
72
  loop do
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.4
4
+ version: 0.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Griffith Chaffee
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-04-18 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
@@ -108,7 +108,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
108
108
  - !ruby/object:Gem::Version
109
109
  version: '0'
110
110
  requirements: []
111
- rubygems_version: 3.1.2
111
+ rubygems_version: 3.0.3
112
112
  signing_key:
113
113
  specification_version: 4
114
114
  summary: Restarts a web server when watched files or directories are changed.