zk-eventmachine 0.9.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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