retest 1.7.0 → 1.8.0

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
  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