listen 2.7.4 → 2.7.5
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 +4 -4
- data/.rubocop.yml +232 -0
- data/.travis.yml +6 -3
- data/Gemfile +9 -1
- data/Guardfile +6 -1
- data/README.md +17 -4
- data/lib/listen.rb +9 -4
- data/lib/listen/adapter.rb +5 -7
- data/lib/listen/adapter/base.rb +8 -5
- data/lib/listen/adapter/bsd.rb +58 -21
- data/lib/listen/adapter/darwin.rb +2 -4
- data/lib/listen/adapter/linux.rb +20 -10
- data/lib/listen/adapter/polling.rb +0 -2
- data/lib/listen/adapter/tcp.rb +6 -5
- data/lib/listen/adapter/windows.rb +8 -6
- data/lib/listen/change.rb +1 -2
- data/lib/listen/cli.rb +25 -22
- data/lib/listen/directory.rb +8 -6
- data/lib/listen/listener.rb +25 -19
- data/lib/listen/record.rb +4 -2
- data/lib/listen/silencer.rb +55 -25
- data/lib/listen/tcp.rb +9 -0
- data/lib/listen/tcp/broadcaster.rb +0 -2
- data/lib/listen/tcp/listener.rb +13 -8
- data/lib/listen/tcp/message.rb +0 -2
- data/lib/listen/version.rb +1 -1
- data/listen.gemspec +4 -3
- data/spec/acceptance/listen_spec.rb +190 -109
- data/spec/acceptance/tcp_spec.rb +28 -26
- data/spec/lib/listen/adapter/base_spec.rb +14 -12
- data/spec/lib/listen/adapter/bsd_spec.rb +5 -2
- data/spec/lib/listen/adapter/darwin_spec.rb +5 -2
- data/spec/lib/listen/adapter/linux_spec.rb +40 -25
- data/spec/lib/listen/adapter/polling_spec.rb +29 -14
- data/spec/lib/listen/adapter/tcp_spec.rb +24 -6
- data/spec/lib/listen/adapter/windows_spec.rb +5 -2
- data/spec/lib/listen/adapter_spec.rb +20 -17
- data/spec/lib/listen/change_spec.rb +36 -26
- data/spec/lib/listen/directory_spec.rb +128 -71
- data/spec/lib/listen/file_spec.rb +67 -34
- data/spec/lib/listen/listener_spec.rb +135 -105
- data/spec/lib/listen/record_spec.rb +32 -29
- data/spec/lib/listen/silencer_spec.rb +78 -56
- data/spec/lib/listen/tcp/broadcaster_spec.rb +3 -2
- data/spec/lib/listen/tcp/listener_spec.rb +17 -11
- data/spec/lib/listen/tcp/message_spec.rb +1 -1
- data/spec/lib/listen_spec.rb +18 -6
- data/spec/spec_helper.rb +5 -1
- data/spec/support/acceptance_helper.rb +3 -3
- data/spec/support/fixtures_helper.rb +10 -9
- metadata +17 -15
data/spec/lib/listen_spec.rb
CHANGED
@@ -2,19 +2,20 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe Listen do
|
4
4
|
describe '.to' do
|
5
|
-
it
|
5
|
+
it 'initalizes listener' do
|
6
6
|
expect(Listen::Listener).to receive(:new).with('/path')
|
7
7
|
described_class.to('/path')
|
8
8
|
end
|
9
9
|
|
10
10
|
context 'when using :forward_to option' do
|
11
11
|
it 'initializes TCP-listener in broadcast-mode' do
|
12
|
-
expect(Listen::TCP::Listener).to receive(:new).
|
12
|
+
expect(Listen::TCP::Listener).to receive(:new).
|
13
|
+
with(4000, :broadcaster, '/path', {})
|
13
14
|
described_class.to('/path', forward_to: 4000)
|
14
15
|
end
|
15
16
|
end
|
16
17
|
|
17
|
-
it
|
18
|
+
it 'sets stopping at false' do
|
18
19
|
allow(Listen::Listener).to receive(:new)
|
19
20
|
Listen.to('/path')
|
20
21
|
expect(Listen.stopping).to be_false
|
@@ -22,15 +23,26 @@ describe Listen do
|
|
22
23
|
end
|
23
24
|
|
24
25
|
describe '.stop' do
|
25
|
-
it
|
26
|
+
it 'stops all listeners & Celluloid' do
|
26
27
|
Listen.stop
|
27
|
-
|
28
|
+
|
29
|
+
# TODO: running? returns internal_pool on 0.15.2
|
30
|
+
# (remove after Celluloid dependency is bumped)
|
31
|
+
buggy_method = if Celluloid.respond_to?(:internal_pool)
|
32
|
+
Celluloid.running? == Celluloid.internal_pool
|
33
|
+
else
|
34
|
+
false
|
35
|
+
end
|
36
|
+
|
37
|
+
pool = buggy_method ? Celluloid.internal_pool : Celluloid
|
38
|
+
expect(pool).to_not be_running
|
28
39
|
end
|
29
40
|
end
|
30
41
|
|
31
42
|
describe '.on' do
|
32
43
|
it 'initializes TCP-listener in recipient-mode' do
|
33
|
-
expect(Listen::TCP::Listener).to receive(:new).
|
44
|
+
expect(Listen::TCP::Listener).to receive(:new).
|
45
|
+
with(4000, :recipient, '/path')
|
34
46
|
described_class.on(4000, '/path')
|
35
47
|
end
|
36
48
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -25,7 +25,7 @@ end
|
|
25
25
|
def relative_path(changes)
|
26
26
|
changes.map do |change|
|
27
27
|
unfrozen_copy = change.dup
|
28
|
-
[paths].flatten.each { |path| unfrozen_copy.gsub!(
|
28
|
+
[paths].flatten.each { |path| unfrozen_copy.gsub!(/#{path.to_s}\//, '') }
|
29
29
|
unfrozen_copy
|
30
30
|
end
|
31
31
|
end
|
@@ -33,8 +33,8 @@ end
|
|
33
33
|
# Generates a small time difference before performing a time sensitive
|
34
34
|
# task (like comparing mtimes of files).
|
35
35
|
#
|
36
|
-
# @note Modification time for files only includes the milliseconds on Linux
|
37
|
-
# and platform that support it (OS X 10.8 not included),
|
36
|
+
# @note Modification time for files only includes the milliseconds on Linux
|
37
|
+
# with MRI > 1.9.2 and platform that support it (OS X 10.8 not included),
|
38
38
|
# that's why we generate a difference that's greater than 1 second.
|
39
39
|
#
|
40
40
|
def sleep_until_next_second
|
@@ -5,23 +5,24 @@ include FileUtils
|
|
5
5
|
# Prepares temporary fixture-directories and
|
6
6
|
# cleans them afterwards.
|
7
7
|
#
|
8
|
-
# @param [Fixnum] number_of_directories the number of fixture-directories to
|
8
|
+
# @param [Fixnum] number_of_directories the number of fixture-directories to
|
9
|
+
# make
|
9
10
|
#
|
10
11
|
# @yield [path1, path2, ...] the empty fixture-directories
|
11
12
|
# @yieldparam [String] path the path to a fixture directory
|
12
13
|
#
|
13
14
|
def fixtures(number_of_directories = 1)
|
14
15
|
current_pwd = pwd
|
15
|
-
paths = 1.upto(number_of_directories).map
|
16
|
-
File.expand_path(File.join(pwd, "spec/.fixtures/#{Time.now.to_f.to_s.sub('.', '') + rand(9999).to_s}"))
|
17
|
-
end
|
18
|
-
|
19
|
-
# Create the dirs
|
20
|
-
paths.each { |p| mkdir_p(p) }
|
21
|
-
|
16
|
+
paths = 1.upto(number_of_directories).map { mk_fixture_tmp_dir }
|
22
17
|
cd(paths.first) if number_of_directories == 1
|
23
18
|
yield(*paths)
|
24
19
|
ensure
|
25
20
|
cd current_pwd
|
26
|
-
paths.map { |p| rm_rf(p) if File.
|
21
|
+
paths.map { |p| rm_rf(p) if File.exist?(p) }
|
22
|
+
end
|
23
|
+
|
24
|
+
def mk_fixture_tmp_dir
|
25
|
+
timestamp = Time.now.to_f.to_s.sub('.', '') + rand(9999).to_s
|
26
|
+
path = Pathname.pwd.join('spec', '.fixtures', timestamp).expand_path
|
27
|
+
path.tap(&:mkpath)
|
27
28
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: listen
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.7.
|
4
|
+
version: 2.7.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Thibaud Guillaume-Gentil
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-05-
|
11
|
+
date: 2014-05-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: celluloid
|
@@ -25,61 +25,61 @@ dependencies:
|
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 0.15.2
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: rb-fsevent
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.
|
33
|
+
version: 0.9.3
|
34
34
|
type: :runtime
|
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: 0.
|
40
|
+
version: 0.9.3
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name: rb-
|
42
|
+
name: rb-inotify
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0.9
|
47
|
+
version: '0.9'
|
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
|
54
|
+
version: '0.9'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: bundler
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
62
|
-
type: :
|
61
|
+
version: 1.3.5
|
62
|
+
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
68
|
+
version: 1.3.5
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
70
|
+
name: celluloid-io
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
75
|
+
version: 0.15.0
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
82
|
+
version: 0.15.0
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: rake
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -132,6 +132,7 @@ extra_rdoc_files: []
|
|
132
132
|
files:
|
133
133
|
- ".gitignore"
|
134
134
|
- ".rspec"
|
135
|
+
- ".rubocop.yml"
|
135
136
|
- ".travis.yml"
|
136
137
|
- ".yardopts"
|
137
138
|
- CHANGELOG.md
|
@@ -158,6 +159,7 @@ files:
|
|
158
159
|
- lib/listen/listener.rb
|
159
160
|
- lib/listen/record.rb
|
160
161
|
- lib/listen/silencer.rb
|
162
|
+
- lib/listen/tcp.rb
|
161
163
|
- lib/listen/tcp/broadcaster.rb
|
162
164
|
- lib/listen/tcp/listener.rb
|
163
165
|
- lib/listen/tcp/message.rb
|