zk 1.4.2 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. data/.dotfiles/ctags_paths +1 -0
  2. data/.dotfiles/rspec-logging +2 -2
  3. data/.gitignore +1 -0
  4. data/Gemfile +9 -3
  5. data/Guardfile +36 -0
  6. data/README.markdown +21 -18
  7. data/RELEASES.markdown +10 -0
  8. data/Rakefile +1 -1
  9. data/lib/zk.rb +28 -21
  10. data/lib/zk/client/threaded.rb +107 -17
  11. data/lib/zk/client/unixisms.rb +1 -41
  12. data/lib/zk/core_ext.rb +28 -0
  13. data/lib/zk/election.rb +14 -3
  14. data/lib/zk/event_handler.rb +36 -37
  15. data/lib/zk/event_handler_subscription/actor.rb +37 -2
  16. data/lib/zk/event_handler_subscription/base.rb +9 -0
  17. data/lib/zk/exceptions.rb +5 -0
  18. data/lib/zk/fork_hook.rb +112 -0
  19. data/lib/zk/install_fork_hooks.rb +37 -0
  20. data/lib/zk/locker/exclusive_locker.rb +14 -10
  21. data/lib/zk/locker/locker_base.rb +43 -26
  22. data/lib/zk/locker/shared_locker.rb +9 -5
  23. data/lib/zk/logging.rb +29 -7
  24. data/lib/zk/node_deletion_watcher.rb +167 -0
  25. data/lib/zk/pool.rb +14 -4
  26. data/lib/zk/subscription.rb +15 -34
  27. data/lib/zk/threaded_callback.rb +113 -29
  28. data/lib/zk/threadpool.rb +136 -40
  29. data/lib/zk/version.rb +1 -1
  30. data/spec/logging_progress_bar_formatter.rb +12 -0
  31. data/spec/shared/client_contexts.rb +13 -1
  32. data/spec/shared/client_examples.rb +3 -1
  33. data/spec/spec_helper.rb +28 -3
  34. data/spec/support/client_forker.rb +49 -8
  35. data/spec/support/latch.rb +1 -19
  36. data/spec/support/logging.rb +26 -10
  37. data/spec/support/wait_watchers.rb +2 -2
  38. data/spec/zk/00_forked_client_integration_spec.rb +1 -1
  39. data/spec/zk/client_spec.rb +11 -2
  40. data/spec/zk/election_spec.rb +21 -7
  41. data/spec/zk/locker_spec.rb +42 -22
  42. data/spec/zk/node_deletion_watcher_spec.rb +69 -0
  43. data/spec/zk/pool_spec.rb +32 -18
  44. data/spec/zk/threaded_callback_spec.rb +78 -0
  45. data/spec/zk/threadpool_spec.rb +52 -0
  46. data/spec/zk/watch_spec.rb +4 -0
  47. data/zk.gemspec +2 -1
  48. metadata +36 -10
  49. data/spec/support/logging_progress_bar_formatter.rb +0 -14
@@ -365,6 +365,10 @@ describe ZK do
365
365
  end
366
366
  end
367
367
 
368
+ after do
369
+ @zk.close! if @zk and not @zk.closed?
370
+ end
371
+
368
372
  it %[should fire the registered callback] do
369
373
  wait_while { @event.nil? }
370
374
  @event.should_not be_nil
data/zk.gemspec CHANGED
@@ -12,8 +12,9 @@ Gem::Specification.new do |s|
12
12
  s.summary = %q{A high-level wrapper around the zookeeper driver}
13
13
  s.description = s.summary + "\n"
14
14
 
15
- s.add_runtime_dependency 'zookeeper', '~> 1.1.1'
15
+ s.add_runtime_dependency 'zookeeper', '~> 1.2.2'
16
16
  s.add_runtime_dependency 'backports', '~> 2.5.1'
17
+ s.add_runtime_dependency 'logging', '~> 1.7.2'
17
18
 
18
19
  s.files = `git ls-files`.split("\n")
19
20
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
metadata CHANGED
@@ -5,9 +5,9 @@ version: !ruby/object:Gem::Version
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
- - 4
9
- - 2
10
- version: 1.4.2
8
+ - 5
9
+ - 0
10
+ version: 1.5.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Jonathan D. Simms
@@ -16,7 +16,7 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2012-05-17 00:00:00 Z
19
+ date: 2012-05-22 00:00:00 Z
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
22
  name: zookeeper
@@ -26,12 +26,12 @@ dependencies:
26
26
  requirements:
27
27
  - - ~>
28
28
  - !ruby/object:Gem::Version
29
- hash: 17
29
+ hash: 27
30
30
  segments:
31
31
  - 1
32
- - 1
33
- - 1
34
- version: 1.1.1
32
+ - 2
33
+ - 2
34
+ version: 1.2.2
35
35
  type: :runtime
36
36
  version_requirements: *id001
37
37
  - !ruby/object:Gem::Dependency
@@ -50,6 +50,22 @@ dependencies:
50
50
  version: 2.5.1
51
51
  type: :runtime
52
52
  version_requirements: *id002
53
+ - !ruby/object:Gem::Dependency
54
+ name: logging
55
+ prerelease: false
56
+ requirement: &id003 !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ hash: 15
62
+ segments:
63
+ - 1
64
+ - 7
65
+ - 2
66
+ version: 1.7.2
67
+ type: :runtime
68
+ version_requirements: *id003
53
69
  description: |
54
70
  A high-level wrapper around the zookeeper driver
55
71
 
@@ -63,6 +79,7 @@ extensions: []
63
79
  extra_rdoc_files: []
64
80
 
65
81
  files:
82
+ - .dotfiles/ctags_paths
66
83
  - .dotfiles/rspec-logging
67
84
  - .dotfiles/rvmrc
68
85
  - .gitignore
@@ -70,6 +87,7 @@ files:
70
87
  - .travis.yml
71
88
  - .yardopts
72
89
  - Gemfile
90
+ - Guardfile
73
91
  - LICENSE
74
92
  - README.markdown
75
93
  - RELEASES.markdown
@@ -94,6 +112,8 @@ files:
94
112
  - lib/zk/exceptions.rb
95
113
  - lib/zk/extensions.rb
96
114
  - lib/zk/find.rb
115
+ - lib/zk/fork_hook.rb
116
+ - lib/zk/install_fork_hooks.rb
97
117
  - lib/zk/locker.rb
98
118
  - lib/zk/locker/exclusive_locker.rb
99
119
  - lib/zk/locker/locker_base.rb
@@ -101,6 +121,7 @@ files:
101
121
  - lib/zk/logging.rb
102
122
  - lib/zk/message_queue.rb
103
123
  - lib/zk/mongoid.rb
124
+ - lib/zk/node_deletion_watcher.rb
104
125
  - lib/zk/pool.rb
105
126
  - lib/zk/stat.rb
106
127
  - lib/zk/subscription.rb
@@ -114,6 +135,7 @@ files:
114
135
  - spec/informal/lock_with_dead_session.rb
115
136
  - spec/informal/what-the-fork.rb
116
137
  - spec/log4j.properties
138
+ - spec/logging_progress_bar_formatter.rb
117
139
  - spec/message_queue_spec.rb
118
140
  - spec/shared/client_contexts.rb
119
141
  - spec/shared/client_examples.rb
@@ -125,7 +147,6 @@ files:
125
147
  - spec/support/exist_matcher.rb
126
148
  - spec/support/latch.rb
127
149
  - spec/support/logging.rb
128
- - spec/support/logging_progress_bar_formatter.rb
129
150
  - spec/support/pendings.rb
130
151
  - spec/support/queuey_thread.rb
131
152
  - spec/support/special_happy_funtime_error.rb
@@ -139,7 +160,9 @@ files:
139
160
  - spec/zk/locker_spec.rb
140
161
  - spec/zk/module_spec.rb
141
162
  - spec/zk/mongoid_spec.rb
163
+ - spec/zk/node_deletion_watcher_spec.rb
142
164
  - spec/zk/pool_spec.rb
165
+ - spec/zk/threaded_callback_spec.rb
143
166
  - spec/zk/threadpool_spec.rb
144
167
  - spec/zk/watch_spec.rb
145
168
  - spec/zk/zookeeper_spec.rb
@@ -183,6 +206,7 @@ test_files:
183
206
  - spec/informal/lock_with_dead_session.rb
184
207
  - spec/informal/what-the-fork.rb
185
208
  - spec/log4j.properties
209
+ - spec/logging_progress_bar_formatter.rb
186
210
  - spec/message_queue_spec.rb
187
211
  - spec/shared/client_contexts.rb
188
212
  - spec/shared/client_examples.rb
@@ -194,7 +218,6 @@ test_files:
194
218
  - spec/support/exist_matcher.rb
195
219
  - spec/support/latch.rb
196
220
  - spec/support/logging.rb
197
- - spec/support/logging_progress_bar_formatter.rb
198
221
  - spec/support/pendings.rb
199
222
  - spec/support/queuey_thread.rb
200
223
  - spec/support/special_happy_funtime_error.rb
@@ -208,7 +231,10 @@ test_files:
208
231
  - spec/zk/locker_spec.rb
209
232
  - spec/zk/module_spec.rb
210
233
  - spec/zk/mongoid_spec.rb
234
+ - spec/zk/node_deletion_watcher_spec.rb
211
235
  - spec/zk/pool_spec.rb
236
+ - spec/zk/threaded_callback_spec.rb
212
237
  - spec/zk/threadpool_spec.rb
213
238
  - spec/zk/watch_spec.rb
214
239
  - spec/zk/zookeeper_spec.rb
240
+ has_rdoc:
@@ -1,14 +0,0 @@
1
- require 'rspec/core/formatters/progress_formatter'
2
-
3
- module Motionbox
4
- # essentially a monkey-patch to the ProgressBarFormatter, outputs
5
- # '== #{example_proxy.description} ==' in the logs before each test. makes it
6
- # easier to match up tests with the SQL they produce
7
- class LoggingProgressBarFormatter < RSpec::Core::Formatters::ProgressFormatter
8
- def example_started(example)
9
- ZK.logger.info(yellow("\n=====<([ #{example.full_description} ])>=====\n"))
10
- super
11
- end
12
- end
13
- end
14
-