pry-reload 0.1 → 0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/lib/pry-reload/commands.rb +4 -2
- data/lib/pry-reload/version.rb +1 -1
- data/lib/pry-reload/watch.rb +11 -20
- data/lib/pry-reload.rb +1 -1
- data/pry-reload.gemspec +3 -3
- metadata +10 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 356f33c7d5767fff0ede036cb38591a2fcac806abba972a4048489a5ac3a6a4e
|
4
|
+
data.tar.gz: 2962249b7a2a931dfd095dbfb0140c0ef8b73c8a267067dcbb064843392fd38e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: be3c1a7a143231939b873f54b205ce5c3a91752c54289253c80626c83bb76376190d035f4420f5918fa86d46cc2fb259b03b43b2f9f704f62f4ac224a777d0a7
|
7
|
+
data.tar.gz: 43215311afc9f2a89fc10a6a99447cae64969a81b663663ccb5c1e1f2d6f642ad25bbed12bf864e092e294496c10491010553a68388359e62f08bd26507ffd15
|
data/lib/pry-reload/commands.rb
CHANGED
@@ -1,7 +1,9 @@
|
|
1
|
-
|
1
|
+
require 'pry'
|
2
|
+
|
3
|
+
Pry.hooks.add_hook(:before_session, 'reload-init') do
|
2
4
|
PryReload::Watch.instance
|
3
5
|
end
|
4
6
|
|
5
|
-
Pry::Commands.block_command
|
7
|
+
Pry::Commands.block_command 'reload!', 'Reload changed files since the session started' do
|
6
8
|
PryReload::Watch.instance.reload!(output)
|
7
9
|
end
|
data/lib/pry-reload/version.rb
CHANGED
data/lib/pry-reload/watch.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
|
-
require
|
2
|
-
require
|
1
|
+
require 'listen'
|
2
|
+
require 'thread'
|
3
|
+
require 'singleton'
|
3
4
|
|
4
5
|
class PryReload
|
5
6
|
class Watch
|
@@ -8,43 +9,33 @@ class PryReload
|
|
8
9
|
@@mutex = Mutex.new
|
9
10
|
|
10
11
|
def initialize
|
11
|
-
@notifier = INotify::Notifier.new
|
12
12
|
@modified = []
|
13
13
|
setup
|
14
14
|
process
|
15
15
|
end
|
16
16
|
|
17
17
|
def dirs
|
18
|
-
Dir.glob(
|
19
|
-
end
|
20
|
-
|
21
|
-
def process_event(evt)
|
22
|
-
if File.directory?(evt.absolute_name)
|
23
|
-
evt.notifier.watch(evt.absolute_name)
|
24
|
-
elsif evt.absolute_name.end_with?(".rb")
|
25
|
-
@@mutex.synchronize { @modified << evt.absolute_name }
|
26
|
-
#puts "modified #{evt.absolute_name}"
|
27
|
-
end
|
18
|
+
Dir.glob(['**/', '.'])
|
28
19
|
end
|
29
20
|
|
30
21
|
def setup
|
31
|
-
dirs.
|
32
|
-
|
33
|
-
|
22
|
+
@listener ||= Listen.to(*dirs, only: %r{.rb$}) do |modified, added, _removed|
|
23
|
+
modified.each { |file| @@mutex.synchronize { @modified << file } }
|
24
|
+
added.each { |file| @@mutex.synchronize { @modified << file } }
|
34
25
|
end
|
35
26
|
end
|
36
27
|
|
37
28
|
def process
|
38
29
|
@thread ||= Thread.new do
|
39
|
-
#puts "Running!"
|
40
|
-
@
|
30
|
+
# puts "Running!"
|
31
|
+
@listener.start
|
41
32
|
end
|
42
33
|
end
|
43
34
|
|
44
35
|
def reload!(output)
|
45
36
|
@@mutex.synchronize do
|
46
|
-
if @modified.
|
47
|
-
output.puts
|
37
|
+
if @modified.length.zero?
|
38
|
+
output.puts 'Nothing changed!'
|
48
39
|
else
|
49
40
|
changed = @modified.dup.uniq
|
50
41
|
@modified = []
|
data/lib/pry-reload.rb
CHANGED
data/pry-reload.gemspec
CHANGED
@@ -17,7 +17,7 @@ Gem::Specification.new do |spec|
|
|
17
17
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
18
18
|
spec.require_paths = ["lib"]
|
19
19
|
|
20
|
-
spec.add_development_dependency "bundler", "~> 1
|
21
|
-
spec.add_development_dependency "rake", "~>
|
22
|
-
spec.add_dependency "
|
20
|
+
spec.add_development_dependency "bundler", "~> 2.1"
|
21
|
+
spec.add_development_dependency "rake", "~> 13.0"
|
22
|
+
spec.add_dependency "listen", "~> 3.4"
|
23
23
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pry-reload
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '0.
|
4
|
+
version: '0.2'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- martin sarsale
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-11-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -16,42 +16,42 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '1
|
19
|
+
version: '2.1'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '1
|
26
|
+
version: '2.1'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '13.0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '13.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: listen
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
47
|
+
version: '3.4'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
54
|
+
version: '3.4'
|
55
55
|
description:
|
56
56
|
email:
|
57
57
|
- martin@malditainternet.com
|
@@ -86,8 +86,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
86
86
|
- !ruby/object:Gem::Version
|
87
87
|
version: '0'
|
88
88
|
requirements: []
|
89
|
-
|
90
|
-
rubygems_version: 2.5.1
|
89
|
+
rubygems_version: 3.1.2
|
91
90
|
signing_key:
|
92
91
|
specification_version: 4
|
93
92
|
summary: Tracks and reloads changed files
|