zk-eventmachine 0.9.0 → 1.0.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.
data/.gitignore CHANGED
@@ -1,6 +1,6 @@
1
1
  *.gem
2
2
  .bundle
3
- Gemfile.lock
3
+ Gemfile.*
4
4
  pkg/*
5
5
  .rvmrc
6
6
  .vimrc
data/Gemfile CHANGED
@@ -1,6 +1,7 @@
1
- source ENV['MBOX_BUNDLER_SOURCE'] if ENV['MBOX_BUNDLER_SOURCE']
2
1
  source "http://rubygems.org"
3
2
 
3
+ # gem 'zk', :path => '~/zk'
4
+
4
5
  group :test do
5
6
  gem 'rspec', '~> 2.8.0'
6
7
  gem 'yard', '~> 0.7.0'
data/Rakefile CHANGED
@@ -12,26 +12,51 @@ task :yard do
12
12
  Rake::Task[:run_yardoc].invoke
13
13
  end
14
14
 
15
- %w[1.8.7 1.9.2 1.9.3 jruby].each do |rvm_ruby|
16
- gemset_name = 'zk-em'
17
- ruby_with_gemset = "#{rvm_ruby}@#{gemset_name}"
18
- create_gemset_name = "mb:#{rvm_ruby}:create_gemset"
19
- bundle_task_name = "mb:#{rvm_ruby}:bundle_install"
20
- rspec_task_name = "mb:#{rvm_ruby}:run_rspec"
21
-
22
- task create_gemset_name do
15
+ gemset_name = 'zk-em'
16
+
17
+ %w[1.8.7 1.9.2 jruby rbx 1.9.3].each do |ns_name|
18
+ rvm_ruby = (ns_name == 'rbx') ? "rbx-2.0.testing" : ns_name
19
+
20
+ ruby_with_gemset = "#{rvm_ruby}@#{gemset_name}"
21
+ create_gemset_task_name = "mb:#{ns_name}:create_gemset"
22
+ bundle_task_name = "mb:#{ns_name}:bundle_install"
23
+ rspec_task_name = "mb:#{ns_name}:run_rspec"
24
+
25
+ phony_gemfile_link_name = "Gemfile.#{ns_name}"
26
+ phony_gemfile_lock_name = "#{phony_gemfile_link_name}.lock"
27
+
28
+ file phony_gemfile_link_name do
29
+ # apparently, rake doesn't deal with symlinks intelligently :P
30
+ ln_s('Gemfile', phony_gemfile_link_name) unless File.symlink?(phony_gemfile_link_name)
31
+ end
32
+
33
+ task :clean do
34
+ rm_rf [phony_gemfile_lock_name, phony_gemfile_lock_name]
35
+ end
36
+
37
+ task create_gemset_task_name do
23
38
  sh "rvm #{rvm_ruby} do rvm gemset create #{gemset_name}"
24
39
  end
25
40
 
26
- task bundle_task_name => create_gemset_name do
27
- rm_f 'Gemfile.lock'
28
- sh "rvm #{ruby_with_gemset} do bundle install"
41
+ task bundle_task_name => [phony_gemfile_link_name, create_gemset_task_name] do
42
+ sh "rvm #{ruby_with_gemset} do bundle install --gemfile #{phony_gemfile_link_name}"
29
43
  end
30
44
 
31
45
  task rspec_task_name => bundle_task_name do
32
- sh "rvm #{ruby_with_gemset} do bundle exec rspec spec --fail-fast"
46
+ sh "rvm #{ruby_with_gemset} do env BUNDLE_GEMFILE=#{phony_gemfile_link_name} bundle exec rspec spec --fail-fast"
47
+ end
48
+
49
+ task "mb:#{ns_name}" => rspec_task_name
50
+
51
+ task "mb:test_all_rubies" => rspec_task_name
52
+ end
53
+
54
+ task 'mb:test_all' do
55
+ require 'benchmark'
56
+ tm = Benchmark.realtime do
57
+ Rake::Task['mb:test_all_rubies'].invoke
33
58
  end
34
59
 
35
- task 'mb:test_all' => rspec_task_name
60
+ $stderr.puts "Test run took: #{tm}"
36
61
  end
37
62
 
@@ -192,6 +192,15 @@ module ZK
192
192
  @cnx.session_passwd
193
193
  end
194
194
 
195
+ # Used by the event_handler to deliver callbacks. This hopefully won't
196
+ # have any other side-effects, as it's not happening on a separate
197
+ # thread, rather just in the next reactor tick.
198
+ #
199
+ # @private
200
+ def defer
201
+ EM.next_tick { yield }
202
+ end
203
+
195
204
  protected
196
205
  # @private
197
206
  def register_default_event_handlers!
@@ -6,17 +6,6 @@ module ZK
6
6
  class EventHandlerEM < ZK::EventHandler
7
7
  include ZK::Logging
8
8
 
9
- def register(path, &block)
10
- # use the supplied block, but ensure that it gets called on the reactor
11
- # thread
12
- new_blk = lambda do |*a|
13
- EM.schedule { block.call(*a) }
14
- end
15
-
16
- super(path, &new_blk)
17
- end
18
- alias :subscribe :register
19
-
20
9
  def process(event)
21
10
  EM.schedule { super(event) }
22
11
  end
@@ -1,5 +1,5 @@
1
1
  module ZK
2
2
  module ZKEventMachine
3
- VERSION = "0.9.0"
3
+ VERSION = "1.0.0"
4
4
  end
5
5
  end
@@ -50,7 +50,9 @@ module ZK::ZKEventMachine
50
50
  @zkem.stat(@path, :watch => true) do |e,*a|
51
51
  raise e if e
52
52
 
53
- @zkem.set(@path, @new_data) { |e| raise e if e }
53
+ @zkem.set(@path, @new_data) do |e,*a|
54
+ raise e if e
55
+ end
54
56
  end
55
57
  end
56
58
  end
@@ -12,10 +12,10 @@ Gem::Specification.new do |s|
12
12
  s.summary = %q{ZK client for EventMachine-based (async) applications}
13
13
  s.description = s.description
14
14
 
15
- s.add_dependency 'zk', '~> 0.9.0'
15
+ s.add_dependency 'zk', '~> 1.0.0'
16
16
 
17
17
  # zk depends on slyphon-zookeeper, but we need at least this version
18
- s.add_dependency 'slyphon-zookeeper', '~> 0.8.1'
18
+ s.add_dependency 'slyphon-zookeeper', '~> 0.9.2'
19
19
  s.add_dependency 'eventmachine', '~> 1.0.0.beta.4'
20
20
  s.add_dependency 'deferred', '~> 0.5.3'
21
21
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zk-eventmachine
3
3
  version: !ruby/object:Gem::Version
4
- hash: 59
4
+ hash: 23
5
5
  prerelease:
6
6
  segments:
7
+ - 1
7
8
  - 0
8
- - 9
9
9
  - 0
10
- version: 0.9.0
10
+ version: 1.0.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Jonathan D. Simms
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-04-23 00:00:00 Z
18
+ date: 2012-04-30 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: zk
@@ -25,12 +25,12 @@ dependencies:
25
25
  requirements:
26
26
  - - ~>
27
27
  - !ruby/object:Gem::Version
28
- hash: 59
28
+ hash: 23
29
29
  segments:
30
+ - 1
30
31
  - 0
31
- - 9
32
32
  - 0
33
- version: 0.9.0
33
+ version: 1.0.0
34
34
  type: :runtime
35
35
  version_requirements: *id001
36
36
  - !ruby/object:Gem::Dependency
@@ -41,12 +41,12 @@ dependencies:
41
41
  requirements:
42
42
  - - ~>
43
43
  - !ruby/object:Gem::Version
44
- hash: 61
44
+ hash: 63
45
45
  segments:
46
46
  - 0
47
- - 8
48
- - 1
49
- version: 0.8.1
47
+ - 9
48
+ - 2
49
+ version: 0.9.2
50
50
  type: :runtime
51
51
  version_requirements: *id002
52
52
  - !ruby/object:Gem::Dependency
@@ -57,7 +57,7 @@ dependencies:
57
57
  requirements:
58
58
  - - ~>
59
59
  - !ruby/object:Gem::Version
60
- hash: -1649268254
60
+ hash: 2603058889
61
61
  segments:
62
62
  - 1
63
63
  - 0