monkey-reloader 0.0.1 → 0.0.3

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
  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: {}