monkey-reloader 0.0.1 → 0.0.3

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
  SHA1:
3
- metadata.gz: a9bf1f25c4b7971da9d998f3f83d55d22369f302
4
- data.tar.gz: 24683ac381e097693c15f99f52d37ec33192d7f9
3
+ metadata.gz: 5743e94643dba7fb9fab7f37cbbcff4c17dc6aee
4
+ data.tar.gz: 29a6ad7d9a71ab739c63ef481b29b54858148c0a
5
5
  SHA512:
6
- metadata.gz: 8a7b29b3cafccad354f1af05df645601270237af9103cac6a58b38006d8970074384e655d6d7f62cb31116ab1dea73b3b5f354375756c1a18f3f85f573286708
7
- data.tar.gz: 55b3a3388f5ff61a64eb5da53be69ed89190fe38876130665d9d4467c40110330f3449081abc3f1bcf0375c69fdb6bb5864fd1efd9907c92bede5c4d625c46d8
6
+ metadata.gz: 6396da66d132cfc23a020b943ed9a3ea71a0b15ed067818bf2d12e5140cbb7c91dc9b48975f1b6aad936362b3d2953f30ba80e3af9470f19c5b9dd2827b2f760
7
+ data.tar.gz: 0dbce19a3933054b2e92014c1021f32ba3963b92b717d2f6c38c89889e6b818ed4884fdaef95ee15c9be0d46d10cf5dc7847d9b06ca174d3da16acb53e0d7a24
@@ -1,10 +1,48 @@
1
1
  module MonkeyReloader
2
- def self.load(blacklist = [])
3
- cmd = "git status -s | grep '.rb' | awk '{ print $2 }'"
4
- `#{cmd}`.split.reject do |file|
5
- blacklist.include? file
6
- end.each do |file|
7
- Kernel.load file unless blacklist.include? file
2
+ class << self
3
+
4
+
5
+ def init(blacklist = [])
6
+ @@blacklist = Array(blacklist)
7
+ update_hash
8
+
9
+ true
8
10
  end
11
+
12
+ def load
13
+ files = changed_files.reject do |file|
14
+ @@blacklist.include? file
15
+ end
16
+ update_hash
17
+
18
+ files.each do |file|
19
+ Kernel.load file
20
+ end
21
+ end
22
+
23
+
24
+ private
25
+
26
+ def update_hash
27
+ @@hash = `git rev-parse HEAD`.strip
28
+ end
29
+
30
+ def changed_files
31
+ files = []
32
+ awk = "awk '{ print $2 }'"
33
+
34
+ # find recent changes
35
+ files += `git status -s | #{awk}`.split
36
+
37
+ # find committed changes if there was a branch change / rebase
38
+ files += `git diff --name-status HEAD..#{@@hash} | #{awk}`.split
39
+
40
+ # filter for ruby files and those that dissapeared during
41
+ # a branch change
42
+ files.select do |file|
43
+ /\.rb$/.match file and File.exists? file
44
+ end
45
+ end
46
+
9
47
  end
10
48
  end
@@ -1,3 +1,3 @@
1
1
  module MonkeyReloader
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.3"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: monkey-reloader
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Pepper
@@ -20,7 +20,7 @@ extra_rdoc_files: []
20
20
  files:
21
21
  - lib/monkey-reloader.rb
22
22
  - lib/monkey-reloader/version.rb
23
- homepage: http://rubygems.org/gems/monkey_reloader
23
+ homepage: https://github.com/d1hotpep/monkey_reloader
24
24
  licenses:
25
25
  - MIT
26
26
  metadata: {}