hot_reloader 0.3.0 → 0.3.2

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
2
  SHA256:
3
- metadata.gz: f238abd11b4178e8c62c1550129bb536eab26894cd2f23d8357796f9d24ff8df
4
- data.tar.gz: ce7662f5a23fe9e4f15f42d640df0a8739c24d5827b4448be1162938d6b4c64e
3
+ metadata.gz: 7f7a23dab8a6321213fc337a02d143cb8ed0eb8414a08178d5ab485975935822
4
+ data.tar.gz: 94240e3303b304cb0ab08ef8be9c587a0e77944a1b52203d3f2970a553a454af
5
5
  SHA512:
6
- metadata.gz: ed014be9bed50b5f4695edbc835944465b6de1b67847b871469c1f592628fa3eb2358338d13c6ecb4ccb0dc5fa12017fda14e71fdb9730786aac80b385cc9437
7
- data.tar.gz: 7f39204335c2e31c898997255d8d7a5264fd7df69675ce63e9e0fb2f050009fd1051a86127ddd06e35b3fb1bdfee995ca3864a5479b7ad92c90b75bd2174b507
6
+ metadata.gz: 88e7cc2a2ab94b09f50bed1c095c6d446472f09f47f3de402c2b7c515a660251ac5551a4ca14dd7a1713e2096fbcc32f12b23fd306d29af7760c44d3c36d51f0
7
+ data.tar.gz: 7c872ea05e0146a656758cd6ee2d4b0a08905c342e34029f3f42a0f32f7838b99377874b117a5c1ac330325cef949f09eca767a29c3852e00a853167741f54ed
data/lib/hot_reloader.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'singleton'
2
4
  require 'zeitwerk'
3
5
  require 'listen'
@@ -5,17 +7,31 @@ require 'listen'
5
7
  class HotReloader
6
8
  include Singleton
7
9
 
10
+ # @private
8
11
  def initialize
9
12
  @loader = Zeitwerk::Loader.new
10
13
  end
11
14
 
12
15
  class << self
16
+ # Listen folders for file change, and reload changed rb file,
17
+ # Should be used for development mode only.
18
+ #
19
+ # @param [*String, Array<String>] folders Folders which should be monitor, can be multi-args or array.
20
+ # @param [#call] logger logger or any object should response call.
21
+ # @param [Array<String>] ignore Glob patterns or Pathname object which should be excluded.
22
+ # @return nil
13
23
  def will_listen(*folders, logger: method(:puts), ignore: [])
14
24
  folders = folders.flatten
15
25
  setup_loader(folders, logger: logger, ignore: ignore)
16
- Listen.to(*folders) { loader.reload }.start
26
+ Listen.to(*folders, wait_for_delay: 1) { loader.reload }.start
17
27
  end
18
28
 
29
+ # Enable autoload ruby file based on default Zeitwerk rule.
30
+ # More rule see https://github.com/fxn/zeitwerk
31
+ #
32
+ # @param [*String, Array<String>] folders folders which should be autoload, can be multi-args or array.
33
+ # @param [#call] logger logger or any object should response call.
34
+ # @return nil
19
35
  def eager_load(*folders, logger: method(:puts))
20
36
  folders = folders.flatten
21
37
  setup_loader(folders, logger: logger, ignore: [])
@@ -1,9 +1,5 @@
1
- class HotReloader
2
- VERSION = [0, 3, 0]
1
+ # frozen_string_literal: true
3
2
 
4
- class << VERSION
5
- def to_s
6
- join('.')
7
- end
8
- end
3
+ class HotReloader
4
+ VERSION = '0.3.2'
9
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hot_reloader
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Billy.Zheng(zw963)
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-03-21 00:00:00.000000000 Z
11
+ date: 2019-03-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: zeitwerk
@@ -68,7 +68,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
68
68
  - !ruby/object:Gem::Version
69
69
  version: '0'
70
70
  requirements: []
71
- rubygems_version: 3.0.1
71
+ rubygems_version: 3.0.3
72
72
  signing_key:
73
73
  specification_version: 4
74
74
  summary: A dead simple ruby code hot reloader wrap around zeitwerk and listen.