listen 2.7.11 → 2.7.12

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
  SHA1:
3
- metadata.gz: 50a3ac06e4268a2cd6b85ceae0dbf31f8683ab6f
4
- data.tar.gz: 640a42142e94ab28e6d7414bedd864d5e7bf4d71
3
+ metadata.gz: 65b3168861b5ccc57809689d8ad5849a631db822
4
+ data.tar.gz: 3640593ce18fa45435a2ff0184e9c7fda77acfce
5
5
  SHA512:
6
- metadata.gz: 2dc86cec1578b84961649ad4a1f685fc33bbc243397884c46cb3e047f3221e7b5f529c5940d5bf4be950f280dd0927899c7b4ba91e9844f8a77a736614905358
7
- data.tar.gz: 1467477d54aa38100d861d73e3f1714906c2e7cddc9ae0917468934ab5a69ba13c0eeeabda7af3c89dcb5032938128406bcbbe50489ca5deb2b8de848058425f
6
+ metadata.gz: 1ba0723ef31cfc026fb71bc89f0d1f951cbd276270bb57329fef1ffa5aae8e982f645a69a2a7bbf39591ae6d8160950fbb71f356417874948c39d010559cca31
7
+ data.tar.gz: 1203e42ab3497f1c2d1348330398880f92b1932038f60b7f8f2283e67bfc4e04e034f10b35389bb00a0775db352d91228af98243951f702137cbc19a3ffe2ad5
@@ -0,0 +1,3 @@
1
+ ruby:
2
+ enabled: true
3
+ config_file: .rubocop.yml
@@ -1,232 +1,20 @@
1
- AccessorMethodName:
2
- Enabled: false
3
-
4
- Alias:
5
- Enabled: false
6
-
7
- ArrayJoin:
8
- Enabled: false
9
-
10
- AsciiComments:
11
- Enabled: false
12
-
13
- AsciiIdentifiers:
14
- Enabled: false
15
-
16
- Attr:
17
- Enabled: false
18
-
19
- BlockNesting:
20
- Enabled: false
21
-
22
- CaseEquality:
23
- Enabled: false
24
-
25
- CharacterLiteral:
26
- Enabled: false
27
-
28
- ClassLength:
29
- Enabled: false
30
-
31
- ClassVars:
32
- Enabled: false
33
-
34
- CollectionMethods:
35
- PreferredMethods:
36
- find: detect
37
- reduce: inject
38
- collect: map
39
- find_all: select
40
-
41
- ColonMethodCall:
42
- Enabled: false
43
-
44
- CommentAnnotation:
45
- Enabled: false
46
-
47
- CyclomaticComplexity:
48
- Enabled: false
49
-
50
- Delegate:
51
- Enabled: false
52
-
53
- DeprecatedHashMethods:
54
- Enabled: false
55
-
56
- Documentation:
57
- Enabled: false
58
-
59
- DotPosition:
60
- EnforcedStyle: trailing
61
-
62
- DoubleNegation:
63
- Enabled: false
64
-
65
- EmptyLiteral:
66
- Enabled: false
67
-
68
- Encoding:
69
- Enabled: false
70
-
71
- EvenOdd:
72
- Enabled: false
73
-
74
- FileName:
75
- Enabled: false
76
-
77
- FlipFlop:
78
- Enabled: false
79
-
80
- FormatString:
81
- Enabled: false
82
-
83
- GlobalVars:
84
- Enabled: false
85
-
86
- IfUnlessModifier:
87
- Enabled: false
88
-
89
- IfWithSemicolon:
90
- Enabled: false
91
-
92
- Lambda:
93
- Enabled: false
94
-
95
- LambdaCall:
96
- Enabled: false
97
-
98
- LineEndConcatenation:
99
- Enabled: false
100
-
101
- LineLength:
102
- Max: 80
103
-
104
- MethodLength:
105
- Enabled: false
106
-
107
- ModuleFunction:
108
- Enabled: false
109
-
110
- NegatedIf:
111
- Enabled: false
112
-
113
- NegatedWhile:
114
- Enabled: false
115
-
116
- NilComparison:
117
- Enabled: false
118
-
119
- Not:
120
- Enabled: false
121
-
122
- NumericLiterals:
123
- Enabled: false
124
-
125
- OneLineConditional:
126
- Enabled: false
127
-
128
- OpMethod:
129
- Enabled: false
130
-
131
- ParameterLists:
132
- Enabled: false
133
-
134
- PercentLiteralDelimiters:
135
- PreferredDelimiters:
136
- '%': '{}'
137
-
138
- PerlBackrefs:
139
- Enabled: false
140
-
141
- PredicateName:
142
- NamePrefixBlacklist:
143
- - is_
144
-
145
- Proc:
146
- Enabled: false
147
-
148
- RaiseArgs:
149
- Enabled: false
150
-
151
- RegexpLiteral:
152
- Enabled: false
153
-
154
- SelfAssignment:
155
- Enabled: false
156
-
157
- SingleLineBlockParams:
158
- Enabled: false
159
-
160
- SingleLineMethods:
161
- Enabled: false
162
-
163
- SpecialGlobalVars:
164
- Enabled: false
165
-
166
- VariableInterpolation:
167
- Enabled: false
168
-
169
- TrailingComma:
170
- Enabled: false
171
-
172
- TrivialAccessors:
173
- Enabled: false
174
-
175
- VariableInterpolation:
176
- Enabled: false
177
-
178
- WhenThen:
179
- Enabled: false
180
-
181
- WhileUntilModifier:
182
- Enabled: false
183
-
184
- WordArray:
185
- Enabled: false
186
-
187
- # Lint
188
-
189
- AmbiguousOperator:
190
- Enabled: false
191
-
192
- AmbiguousRegexpLiteral:
193
- Enabled: false
194
-
195
- AssignmentInCondition:
196
- Enabled: false
197
-
198
- ConditionPosition:
199
- Enabled: false
200
-
201
- DeprecatedClassMethods:
202
- Enabled: false
203
-
204
- ElseLayout:
205
- Enabled: false
206
-
207
- HandleExceptions:
208
- Enabled: false
209
-
210
- InvalidCharacterLiteral:
211
- Enabled: false
212
-
213
- LiteralInCondition:
214
- Enabled: false
215
-
216
- LiteralInInterpolation:
217
- Enabled: false
218
-
219
- Loop:
220
- Enabled: false
221
-
222
- ParenthesesAsGroupedExpression:
223
- Enabled: false
224
-
225
- RequireParentheses:
226
- Enabled: false
227
-
228
- UnderscorePrefixedVariableName:
229
- Enabled: false
230
-
231
- Void:
232
- Enabled: false
1
+ inherit_from:
2
+ - vendor/hound/config/style_guides/ruby.yml
3
+ - .rubocop_todo.yml
4
+
5
+ # Rails cops
6
+ AllCops:
7
+ RunRailsCops: true
8
+
9
+ # Files you want to exclude
10
+ AllCops:
11
+ Exclude:
12
+ - db/schema.rb
13
+ - Gemfile
14
+ - Guardfile
15
+ - Rakefile
16
+
17
+ # TODO: put your overrides here:
18
+ Style/StringLiterals:
19
+ EnforcedStyle: single_quotes
20
+ Enabled: true
@@ -0,0 +1,33 @@
1
+ # This configuration was generated by `rubocop --auto-gen-config`
2
+ # on 2014-11-11 16:35:31 +0100 using RuboCop version 0.25.0.
3
+ # The point is for the user to remove these configuration records
4
+ # one by one as the offenses are removed from the code base.
5
+ # Note that changes in the inspected code, or installation of new
6
+ # versions of RuboCop, may require this file to be generated again.
7
+
8
+ # Offense count: 2
9
+ # Configuration parameters: CountComments.
10
+ Metrics/ClassLength:
11
+ Max: 223
12
+
13
+ # Offense count: 7
14
+ Metrics/CyclomaticComplexity:
15
+ Max: 14
16
+
17
+ # Offense count: 27
18
+ # Configuration parameters: CountComments.
19
+ Metrics/MethodLength:
20
+ Max: 34
21
+
22
+ # Offense count: 5
23
+ Metrics/PerceivedComplexity:
24
+ Max: 16
25
+
26
+ # Offense count: 19
27
+ Style/Documentation:
28
+ Enabled: false
29
+
30
+ # Offense count: 44
31
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
32
+ Style/DotPosition:
33
+ Enabled: false
@@ -4,6 +4,8 @@ Contribute to Listen
4
4
  File an issue
5
5
  -------------
6
6
 
7
+ If you haven't already, first see [TROUBLESHOOTING](https://github.com/guard/listen/blob/master/TROUBLESHOOTING.md) for known issues, solutions and workarounds.
8
+
7
9
  You can report bugs and feature requests to [GitHub Issues](https://github.com/guard/listen/issues).
8
10
 
9
11
  **Please don't ask question in the issue tracker**, instead ask them in our
@@ -11,14 +13,12 @@ You can report bugs and feature requests to [GitHub Issues](https://github.com/g
11
13
 
12
14
  Try to figure out where the issue belongs to: Is it an issue with Listen itself or with Guard?
13
15
 
14
- When you file a bug, please try to follow these simple rules if applicable:
15
-
16
- * Make sure you run Listen with `bundle exec` first.
17
- * Add your `Guardfile` (if used) and `Gemfile` to the issue.
18
- * Make sure that the issue is reproducible with your description.
19
16
 
20
17
  **It's most likely that your bug gets resolved faster if you provide as much information as possible!**
21
18
 
19
+ The MOST useful information is debugging output from Listen (`LISTEN_GEM_DEBUGGING=1`) - see [TROUBLESHOOTING](https://github.com/guard/listen/blob/master/TROUBLESHOOTING.md) for details.
20
+
21
+
22
22
  Development
23
23
  -----------
24
24
 
data/Gemfile CHANGED
@@ -37,6 +37,7 @@ end
37
37
  group :tool do
38
38
  gem 'yard', require: false
39
39
  gem 'guard-rspec', require: false
40
+ gem 'rubocop', '0.25.0' # TODO: should match Gemfile HoundCi
40
41
  gem 'guard-rubocop'
41
42
  gem 'pry-rescue'
42
43
  gem 'pry-stack_explorer'
data/Guardfile CHANGED
@@ -1,13 +1,16 @@
1
1
  ignore(%r{spec/\.fixtures/})
2
2
 
3
- guard :rspec, cmd: 'bundle exec rspec', failed_mode: :keep do
4
- watch(%r{^spec/.+_spec\.rb$})
5
- watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
6
- watch(%r{^spec/support/*}) { 'spec' }
7
- watch('spec/spec_helper.rb') { 'spec' }
8
- end
3
+ group :specs, halt_on_fail: true do
4
+ guard :rspec, cmd: 'bundle exec rspec', failed_mode: :keep do
5
+ watch(%r{^spec/.+_spec\.rb$})
6
+ watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
7
+ watch(%r{^spec/support/*}) { 'spec' }
8
+ watch('spec/spec_helper.rb') { 'spec' }
9
+ end
9
10
 
10
- guard :rubocop, all_on_start: false, cli: '--rails' do
11
- watch(%r{.+\.rb$}) { |m| m[0] }
12
- watch(%r{(?:.+/)?\.rubocop\.yml$}) { |m| File.dirname(m[0]) }
11
+ guard :rubocop, all_on_start: false, cli: '--rails' do
12
+ watch(%r{.+\.rb$}) { |m| m[0] }
13
+ watch(%r{(?:.+/)?\.rubocop\.yml$}) { |m| File.dirname(m[0]) }
14
+ watch(%r{(?:.+/)?\.rubocop_todo\.yml$}) { |m| File.dirname(m[0]) }
15
+ end
13
16
  end
data/README.md CHANGED
@@ -17,12 +17,13 @@ The Listen gem listens to file modifications and notifies you about the changes.
17
17
  * Tested on MRI Ruby environments (1.9+ only) via [Travis CI](https://travis-ci.org/guard/listen),
18
18
 
19
19
  Please note that:
20
+ - Some filesystems won't work without polling (VM/Vagrant Shared folders, NFS, Samba, sshfs, etc.)
20
21
  - Specs suite on JRuby and Rubinius aren't reliable on Travis CI, but should work.
21
22
  - Windows and \*BSD adapter aren't continuously and automaticaly tested.
22
23
  - \*BSD is broken and not supported any more, see: [#220](https://github.com/guard/listen/issues/220)
23
24
 
24
25
 
25
- ## Pending features
26
+ ## Pending features / issues
26
27
 
27
28
  * ~~Non-recursive directory scanning~~ [#111](https://github.com/guard/listen/issues/111)
28
29
  * Symlinks support. [#25](https://github.com/guard/listen/issues/25)
@@ -168,11 +169,12 @@ Also, setting the environment variable `LISTEN_GEM_DEBUGGING=1` does the same as
168
169
  ## Listen adapters
169
170
 
170
171
  The Listen gem has a set of adapters to notify it when there are changes.
172
+
171
173
  There are 4 OS-specific adapters to support Darwin, Linux, ~~\*BSD~~ and Windows.
172
174
  These adapters are fast as they use some system-calls to implement the notifying function.
173
175
 
174
- There is also a polling adapter which is a cross-platform adapter and it will
175
- work on any system. This adapter is slower than the rest of the adapters.
176
+ There is also a polling adapter - although it's much slower than other adapters,
177
+ it works on every platform/system and scenario (including network filesystems such as VM shared folders).
176
178
 
177
179
  The Darwin and Linux adapters are dependencies of the Listen gem so they work out of the box. For other adapters a specific gem will have to be added to your Gemfile, please read below.
178
180
 
@@ -182,12 +184,12 @@ while initializing the listener.
182
184
 
183
185
  ### On Windows
184
186
 
185
- If your are on Windows, you can try to use the [`wdm`](https://github.com/Maher4Ever/wdm) instead of polling.
187
+ If your are on Windows, it's recommended to use the [`wdm`](https://github.com/Maher4Ever/wdm) adapter instead of polling.
188
+
186
189
  Please add the following to your Gemfile:
187
190
 
188
191
  ```ruby
189
- require 'rbconfig'
190
- gem 'wdm', '>= 0.1.0' if RbConfig::CONFIG['target_os'] =~ /mswin|mingw|cygwin/i
192
+ gem 'wdm', '>= 0.1.0' if Gem.win_platform?
191
193
  ```
192
194
 
193
195
  ### On \*BSD
@@ -195,6 +197,7 @@ gem 'wdm', '>= 0.1.0' if RbConfig::CONFIG['target_os'] =~ /mswin|mingw|cygwin/i
195
197
  **NOTE: \*BSD currently is BROKEN with no plans to fix it or support it (see: [#220](https://github.com/guard/listen/issues/220))**
196
198
 
197
199
  If your are on \*BSD you can try to use the [`rb-kqueue`](https://github.com/mat813/rb-kqueue) instead of polling.
200
+
198
201
  Please add the following to your Gemfile:
199
202
 
200
203
  ```ruby
@@ -213,29 +216,10 @@ end
213
216
 
214
217
  ### Issues and troubleshooting
215
218
 
216
- Sometimes OS-specific adapters don't work. :'(
217
-
218
- Here are some things you could try to avoid forcing polling.
219
-
220
- * [Update your Dropbox client](http://www.dropbox.com/downloading), if you have Dropbox installed.
221
- * Move or rename the listened directory.
222
- * Update/reboot your OS.
223
- * Increase latency.
224
- * If running Linux, check and see if you need package inotify-tools
225
-
226
- If your application keeps using the polling-adapter and you can't figure out why, feel free to [open an issue](https://github.com/guard/listen/issues/new) (and be sure to [give all the details](https://github.com/guard/listen/blob/master/CONTRIBUTING.md)).
227
-
228
- Also, if you have problems related to receiving the wrong events, too many
229
- events or none at all, be sure set the environment variable
230
- `LISTEN_GEM_DEBUGGING=1` and include the output when reporting a new issue.
219
+ *NOTE: without providing the output after setting the `LISTEN_GEM_DEBUGGING=1` environment variable, it can be almost impossible to guess why listen is not working as expected.*
231
220
 
232
- If the listener works and then stops listening at some point and no errors are
233
- shown with `LISTEN_GEM_DEBUGGING=1`, set `LISTEN_GEM_DEBUGGING=2` for full
234
- logging.
221
+ See [TROUBLESHOOTING](https://github.com/guard/listen/blob/master/TROUBLESHOOTING.md)
235
222
 
236
- Listen traps SIGINT signal to properly finalize listeners. If you plan
237
- on trapping this signal yourself - make sure to call `Listen.stop` in
238
- signal handler.
239
223
 
240
224
  ## Performance
241
225
 
@@ -250,13 +234,15 @@ Also, if the directories you're watching contain many files, make sure you're:
250
234
  * not running multiple instances of Listen in the background
251
235
  * using a file system with atime modification disabled (ideally)
252
236
  * not using a filesystem with inaccurate file modification times (ideally), e.g. HFS, VFAT
253
- * running Listen with the latency option not too small or too big (depends on needs)
237
+ * running Listen with the `:latency` and `:wait_for_delay` options not too small or too big (depends on needs)
238
+ * not buffering to a slow terminal (e.g. transparency + fancy font + slow gfx card + lots of output)
239
+ * ideally not running a slow encryption stack, e.g. btrfs + ecryptfs
254
240
 
255
241
  When in doubt, LISTEN_GEM_DEBUGGING=2 can help discover the actual events and time they happened.
256
242
 
257
243
  ## Forwarding file events over TCP
258
244
 
259
- Listen is capable of forwarding file events over the network using a messaging protocol. This can be useful for virtualized development environments when file events are unavailable, as is the case with [Vagrant](https://github.com/mitchellh/vagrant).
245
+ Listen is capable of forwarding file events over the network using a messaging protocol. This can be useful for virtualized development environments when file events are unavailable, as is the case with shared folders in VMs. [Vagrant](https://github.com/mitchellh/vagrant) uses Listen in it's rsync-auto mode to solve this issue.
260
246
 
261
247
  To broadcast events over TCP programmatically, use the `forward_to` option with an address - just a port or a hostname/port combination:
262
248