hot_reloader 0.3.0 → 0.3.2

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