retest 1.7.0 → 1.8.0

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
  SHA256:
3
- metadata.gz: 21de32982072708c695512ab52031d4eccfd6efbd0d7f464b71723f42be7101d
4
- data.tar.gz: 987a1e9b14fc4df355a68aae5f3234499ace34b2419a2fb7bc6607326f3c58f9
3
+ metadata.gz: 89898cfd99c7a977326f854924113de57fe34273748eaabadae36ebf8a9995db
4
+ data.tar.gz: cbdd88f75d340d6ea46bc878ee9083a4b335b25c0014d3cf72de18dbe1bb3b2a
5
5
  SHA512:
6
- metadata.gz: 7efb10c87d677fe3fbe1a2922d5991aaa770269f4ad9f226d5087b96a0cb9486f43b6a53f70efd2a3149a6bc8467b9c7e5e28bd55d945a7dda7258ee6cd3c3e8
7
- data.tar.gz: 5df599fad13aff034cec088012f760dc863e362f64cb8c0aa525885ffc80ef74ca547f823e354f397a7d52275a21627ccd59f0c221d00164f4e10f863c79c228
6
+ metadata.gz: cac17fe3587fa15b76f6c6fc13463bc5b9d5d3cfe2ca8d8ca57e67b7a5cbdb630905f3d74ddbeea00c1a3b16a176928222db29b10ecf6ad684020718519966e5
7
+ data.tar.gz: 3f6b4e80e958f5de28fd35e2c0c32954d96061729190d9d88228c7fd0c1cdf8c176afcf3f45cbd9e7f48cfead91834cd5fe4f8ba26db6a804b9f163fafd6a32c
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- retest (1.7.0)
4
+ retest (1.8.0)
5
5
  listen (~> 3.2)
6
6
  string-similarity (~> 2.1)
7
7
  tty-option (~> 0.1)
data/exe/retest CHANGED
@@ -30,16 +30,21 @@ if options.params[:diff]
30
30
  return
31
31
  end
32
32
 
33
+ launching_message = "Launching Retest..."
34
+ if options.force_polling?
35
+ launching_message = "Launching Retest with polling method..."
36
+ end
37
+
33
38
  # Main action
34
39
 
35
- $stdout.puts "Launching Retest..."
36
- Listen.to('.', only: options.extension, relative: true) do |modified, added, removed|
40
+ $stdout.puts launching_message
41
+ Retest.listen(options) do |modified, added, removed|
37
42
  begin
38
43
  program.run(modified, added, removed)
39
44
  rescue => e
40
45
  $stdout.puts "Something went wrong: #{e.message}"
41
46
  end
42
- end.start
47
+ end
43
48
  $stdout.puts "Ready to refactor! You can make file changes now"
44
49
 
45
50
  # not blocking
@@ -85,6 +85,15 @@ module Retest
85
85
  desc "Print usage"
86
86
  end
87
87
 
88
+ option :polling do
89
+ long '--polling'
90
+ desc <<~DESC.strip
91
+ Use polling method when listening to file changes
92
+ Some filesystems won't work without it
93
+ VM/Vagrant Shared folders, NFS, Samba, sshfs...
94
+ DESC
95
+ end
96
+
88
97
  flag :rspec do
89
98
  long "--rspec"
90
99
  desc "Shortcut for a standard RSpec setup"
@@ -132,6 +141,10 @@ module Retest
132
141
  params[:notify]
133
142
  end
134
143
 
144
+ def force_polling?
145
+ params[:polling]
146
+ end
147
+
135
148
  def extension
136
149
  Regexp.new(params[:ext])
137
150
  end
@@ -1,3 +1,3 @@
1
1
  module Retest
2
- VERSION = "1.7.0"
2
+ VERSION = "1.8.0"
3
3
  end
data/lib/retest.rb CHANGED
@@ -16,4 +16,10 @@ require "retest/sounds"
16
16
 
17
17
  module Retest
18
18
  class Error < StandardError; end
19
+
20
+ def self.listen(options, listener: Listen)
21
+ listener.to('.', only: options.extension, relative: true, force_polling: options.force_polling?) do |modified, added, removed|
22
+ yield modified, added, removed
23
+ end.start
24
+ end
19
25
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: retest
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.0
4
+ version: 1.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexandre Barret
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-07-02 00:00:00.000000000 Z
11
+ date: 2022-07-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: string-similarity