monkey-reloader 0.0.4 → 0.0.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 +4 -4
- data/lib/monkey-reloader/version.rb +1 -1
- data/lib/monkey-reloader.rb +25 -8
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 69478d7f3571aac4cc17a941339d77e4df81e4d3
|
4
|
+
data.tar.gz: b78e13ca9d6707e2ec4bd4fa2b180f37590fe579
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c5a00cf25711e19ff714893e7fd5e5baba0680ada1f1978c820e81f072af6b7040d4c10b8bbcb304bf7d60daea9e408f9dc6212effa85f7d643a02b42dd6f02a
|
7
|
+
data.tar.gz: 41bf48c835532532cfe53cc47d7ee59100f2c8662a71b56a8c3f69272a5dbf813433d347c5fed598cba6f27f80252dc4933af36223055423ff8cd9b0f84f484c
|
data/lib/monkey-reloader.rb
CHANGED
@@ -10,7 +10,22 @@ module MonkeyReloader
|
|
10
10
|
@@blacklist = nil
|
11
11
|
|
12
12
|
|
13
|
-
def
|
13
|
+
def config(opts = {})
|
14
|
+
whitelist = opts[:whitelist]
|
15
|
+
if !whitelist or whitelist.empty?
|
16
|
+
raise ArgumentError.new 'whitelist expected'
|
17
|
+
end
|
18
|
+
|
19
|
+
blacklist = opts.key?(:blacklist) ? opts[:blacklist] : [
|
20
|
+
# by default, block dangerous Rails behavior
|
21
|
+
'bin',
|
22
|
+
'config',
|
23
|
+
'db',
|
24
|
+
'log',
|
25
|
+
'script',
|
26
|
+
'spec',
|
27
|
+
].select {|dir| Dir.exists? dir}
|
28
|
+
|
14
29
|
@@whitelist = Set.new
|
15
30
|
self.whitelist whitelist
|
16
31
|
|
@@ -23,6 +38,7 @@ module MonkeyReloader
|
|
23
38
|
end
|
24
39
|
|
25
40
|
def load
|
41
|
+
# reload all changed files
|
26
42
|
wlist = whitelist
|
27
43
|
blist = blacklist
|
28
44
|
|
@@ -37,9 +53,6 @@ module MonkeyReloader
|
|
37
53
|
|
38
54
|
files.each do |file|
|
39
55
|
Kernel.load file
|
40
|
-
end.map do |file|
|
41
|
-
# map back to relative pathnames for convenience
|
42
|
-
Pathname.new(file).relative_path_from(pwd).to_s
|
43
56
|
end
|
44
57
|
end
|
45
58
|
|
@@ -79,10 +92,16 @@ module MonkeyReloader
|
|
79
92
|
end
|
80
93
|
|
81
94
|
def expand_paths(paths = [])
|
82
|
-
# recalculate path expansions
|
95
|
+
# recalculate path expansions, but keep relative paths.
|
96
|
+
# note that caching will miss filesystem changes
|
97
|
+
|
98
|
+
pwd = Pathname.new Dir.pwd
|
83
99
|
Array(paths).map do |path|
|
84
100
|
Dir[path]
|
85
|
-
end.flatten
|
101
|
+
end.flatten.map do |path|
|
102
|
+
# map back to relative paths
|
103
|
+
Pathname.new(path).relative_path_from(pwd).to_s
|
104
|
+
end
|
86
105
|
end
|
87
106
|
|
88
107
|
def update_hash
|
@@ -106,8 +125,6 @@ module MonkeyReloader
|
|
106
125
|
# a branch change
|
107
126
|
files.select do |file|
|
108
127
|
/\.rb$/.match file and File.exists? file
|
109
|
-
end.map do |file|
|
110
|
-
File.expand_path file
|
111
128
|
end
|
112
129
|
end
|
113
130
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: monkey-reloader
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Pepper
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-12-
|
11
|
+
date: 2016-12-19 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: |2
|
14
14
|
fast IRB reloading for non-conventional file naming, using git
|