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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 9529f56971fd7cbd2ebd087531b8cb96edcae161
4
- data.tar.gz: f7978965805983ca061bbb95c3c5726ec529ad69
2
+ SHA256:
3
+ metadata.gz: 356f33c7d5767fff0ede036cb38591a2fcac806abba972a4048489a5ac3a6a4e
4
+ data.tar.gz: 2962249b7a2a931dfd095dbfb0140c0ef8b73c8a267067dcbb064843392fd38e
5
5
  SHA512:
6
- metadata.gz: 6e98bd4a640bde8d74620ed895a3b6d514624d23ded7a3d3162fd6ed111cee8bb2e6bf32026fed545b81e1afa9c7f2b6c22f8aecd872824a88acaf5195b5763c
7
- data.tar.gz: 90c21a8232d9e9846d511dc4d09ee3ee7d33cf24884a12b3426fc76fca46a61b88debdca1a664110272d199026a35c31e00d8bfbdbd6a67b418e493f382e28fb
6
+ metadata.gz: be3c1a7a143231939b873f54b205ce5c3a91752c54289253c80626c83bb76376190d035f4420f5918fa86d46cc2fb259b03b43b2f9f704f62f4ac224a777d0a7
7
+ data.tar.gz: 43215311afc9f2a89fc10a6a99447cae64969a81b663663ccb5c1e1f2d6f642ad25bbed12bf864e092e294496c10491010553a68388359e62f08bd26507ffd15
@@ -1,7 +1,9 @@
1
- Pry.hooks.add_hook(:before_session, "reload-init") do
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 "reload!", "Reload changed files since the session started" do
7
+ Pry::Commands.block_command 'reload!', 'Reload changed files since the session started' do
6
8
  PryReload::Watch.instance.reload!(output)
7
9
  end
@@ -1,3 +1,3 @@
1
1
  class PryReload
2
- VERSION = 0.1
2
+ VERSION = 0.2
3
3
  end
@@ -1,5 +1,6 @@
1
- require "rb-inotify"
2
- require "thread"
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.each do |dir|
32
- #puts "Listening #{dir}"
33
- @notifier.watch(dir, :modify, &Proc.new { |evt| process_event(evt) })
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
- @notifier.run
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.size == 0
47
- output.puts "Nothing changed!"
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
@@ -1,2 +1,2 @@
1
- require "pry-reload/commands.rb"
2
1
  require "pry-reload/watch.rb"
2
+ require "pry-reload/commands.rb"
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.8"
21
- spec.add_development_dependency "rake", "~> 10.0"
22
- spec.add_dependency "rb-inotify", "~> 0.9.7"
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.1'
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: 2016-11-02 00:00:00.000000000 Z
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.8'
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.8'
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: '10.0'
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: '10.0'
40
+ version: '13.0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: rb-inotify
42
+ name: listen
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.9.7
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: 0.9.7
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
- rubyforge_project:
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