celluloid 0.17.2 → 0.17.3

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: 7e4fef1274946e44231177bcac481a79c785e496
4
- data.tar.gz: ddabf286ed4d0ac58f7f58f6ae9f843fd5b82a62
3
+ metadata.gz: eff22fc2c5057bb33885344388462730338e2b5c
4
+ data.tar.gz: 45dab801f10eb84efedd3734f60a7e600bf77618
5
5
  SHA512:
6
- metadata.gz: 8864299ee4256cc2fbe2f5cd32bd59f49f80033f6352a65ae76ac4381c9903835b563147d66ef19585d836e5a1bac92801269276dca003a093dc2c845c91c04d
7
- data.tar.gz: fc79f37cf47fd47111cf2304c977c64d0d1e1e37b5c07f9d863e4975f1dd901ab2f43692a0cb656a36c98a93d9811bcdbcf10edecb027444ced46f916b19685d
6
+ metadata.gz: 8d99c5e87c151a511a52c7b159cbd2b07ec2d898027aba8573260db4ead19381bfa629bff6ee8b3cc5a2537bef8cab3f626c42798d68717a35a7f8d3e8644767
7
+ data.tar.gz: 03231c9ab4686ef1812ef88a7a44e51029db1c30743622e5dbbbc38eb6cb7db1f917942df887d57006e772a8936a8ae1cbe0f6fc8e29603f2dc979a97b584d9f
data/CHANGES.md CHANGED
@@ -1,17 +1,52 @@
1
+ 0.17.3 (2016-01-18)
2
+ -----
3
+ * [#701](https://github.com/celluloid/celluloid/pull/701)
4
+ Conditions in loose threads loop does not take into account the difference between
5
+ backtraces from ruby 2.0.0 and greater than. Fixes celluloid/celluloid-io#165.
6
+ ([@TiagoCardoso1983])
7
+
8
+ * [#700](https://github.com/celluloid/celluloid/pull/700)
9
+ Set celluloid logger level to info by default unless debug is enabled. Fixes #667.
10
+ ([@ioquatix])
11
+
12
+ * [#695](https://github.com/celluloid/celluloid/pull/695)
13
+ Extending the condition event handler with the block; this solves a bug
14
+ introduced in jruby >9.0.0.0, which breaks with an ArgumentError exception,
15
+ apparently due to the way to_proc procs are passed arguments. Fixes #694.
16
+ ([@TiagoCardoso1983])
17
+
18
+ * [#689](https://github.com/celluloid/celluloid/pull/689)
19
+ Simplified sync, async and future proxies by providing specific AbstractCall base.
20
+ ([@ioquatix])
21
+
22
+ * [#688](https://github.com/celluloid/celluloid/pull/688)
23
+ Fix failure to remove dead actors from sets, e.g. celluloid-supervision.
24
+ ([@ioquatix])
25
+
26
+ * [#686](https://github.com/celluloid/celluloid/pull/686)
27
+ Print out method name to help debugging method call which caused dead actor error.
28
+ ([@ioquatix])
29
+
30
+ * [#682](https://github.com/celluloid/celluloid/pull/682)
31
+ Remove excess call/block require.
32
+
33
+ * [#666](https://github.com/celluloid/celluloid/pull/666)
34
+ Don't catch IOError.
35
+
1
36
  0.17.2 (2015-09-30)
2
37
  -----
3
38
  * Revamped test suite, using shared RSpec configuration layer provided by Celluloid itself.
4
39
  * Updated gem dependencies provided by Celluloid::Sync... extraneous gems removed, or marked as development dependencies.
5
- - Clean up deprecation notes.
40
+ * Clean up deprecation notes.
6
41
 
7
42
  0.17.1.2 (2015-08-21)
8
43
  -----
9
- - Fixes to posted markdown content.
10
- - Pull in new gem dependencies.
44
+ * Fixes to posted markdown content.
45
+ * Pull in new gem dependencies.
11
46
 
12
47
  0.17.1.1 (2015-08-07)
13
48
  -----
14
- - Revert "no task to suspend" code from #232.
49
+ * Revert "no task to suspend" code from #232.
15
50
 
16
51
  0.17.1 (2015-08-06)
17
52
  -----
@@ -354,3 +389,6 @@
354
389
  0.0.1
355
390
  -----
356
391
  * Initial release
392
+
393
+ [@ioquatix]: https://github.com/ioquatix
394
+ [@TiagoCardoso1983]: https://github.com/TiagoCardoso1983
@@ -1,4 +1,4 @@
1
- Copyright (c) 2011-2014 Tony Arcieri, Donovan Keme
1
+ Copyright (c) 2011-2016 Tony Arcieri, Donovan Keme
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
@@ -463,7 +463,10 @@ end
463
463
 
464
464
  require "celluloid/exceptions"
465
465
 
466
- Celluloid.logger = Logger.new(STDERR)
466
+ Celluloid.logger = Logger.new(STDERR).tap do |logger|
467
+ logger.level = Logger::INFO unless $CELLULOID_DEBUG
468
+ end
469
+
467
470
  Celluloid.shutdown_timeout = 10
468
471
  Celluloid.log_actor_crashes = true
469
472
 
@@ -29,7 +29,7 @@ module Celluloid
29
29
  end
30
30
 
31
31
  def cleanup
32
- exception = DeadActorError.new("attempted to call a dead actor")
32
+ exception = DeadActorError.new("attempted to call a dead actor: #{self.method}")
33
33
  respond Internals::Response::Error.new(self, exception)
34
34
  end
35
35
 
@@ -59,4 +59,3 @@ end
59
59
  require "celluloid/call/sync"
60
60
  require "celluloid/call/async"
61
61
  require "celluloid/call/block"
62
- require "celluloid/call/block"
@@ -31,7 +31,7 @@ module Celluloid
31
31
  begin
32
32
  current_actor = Thread.current[:celluloid_actor]
33
33
  @reactor.wakeup unless current_actor && current_actor.mailbox == self
34
- rescue IOError
34
+ rescue
35
35
  Internals::Logger.crash "reactor crashed", $ERROR_INFO
36
36
  dead_letter(message)
37
37
  end
@@ -51,8 +51,6 @@ module Celluloid
51
51
 
52
52
  # No message was received:
53
53
  return nil
54
- rescue IOError
55
- raise MailboxShutdown, "mailbox shutdown called during receive"
56
54
  end
57
55
 
58
56
  # Obtain the next message from the mailbox that matches the given block
@@ -1,12 +1,14 @@
1
- # Base class of Celluloid proxies
2
- class Celluloid::Proxy::Abstract < BasicObject
3
- # Used for reflecting on proxy objects themselves
4
- def __class__
5
- ::Celluloid::Proxy::Abstract
1
+ module Celluloid::Proxy
2
+ # Looks up the actual class of instance, even if instance is a proxy.
3
+ def self.class_of(instance)
4
+ (class << instance; self; end).superclass
6
5
  end
6
+ end
7
7
 
8
+ # Base class of Celluloid proxies
9
+ class Celluloid::Proxy::Abstract < BasicObject
8
10
  # Needed for storing proxies in data structures
9
- needed = [:object_id, :__id__, :hash, :private_methods] - instance_methods
11
+ needed = [:object_id, :__id__, :hash, :eql?, :private_methods] - instance_methods
10
12
  if needed.any?
11
13
  include ::Kernel.dup.module_eval {
12
14
  undef_method(*(instance_methods - needed))
@@ -16,4 +18,33 @@ class Celluloid::Proxy::Abstract < BasicObject
16
18
  define_method :==, ::BasicObject.instance_method(:==) unless instance_methods.include?(:==)
17
19
  alias_method(:equal?, :==) unless instance_methods.include?(:equal?)
18
20
  end
21
+
22
+ def __class__
23
+ @class ||= ::Celluloid::Proxy.class_of(self)
24
+ end
25
+ end
26
+
27
+ class Celluloid::Proxy::AbstractCall < Celluloid::Proxy::Abstract
28
+ attr_reader :mailbox
29
+
30
+ def initialize(mailbox, klass)
31
+ @mailbox = mailbox
32
+ @klass = klass
33
+ end
34
+
35
+ def eql?(other)
36
+ self.__class__.eql?(::Celluloid::Proxy.class_of(other)) and @mailbox.eql?(other.mailbox)
37
+ end
38
+
39
+ def hash
40
+ @mailbox.hash
41
+ end
42
+
43
+ def __klass__
44
+ @klass
45
+ end
46
+
47
+ def inspect
48
+ "#<#{self.__class__}(#{@klass})>"
49
+ end
19
50
  end
@@ -2,11 +2,6 @@
2
2
  class Celluloid::Proxy::Actor < Celluloid::Proxy::Abstract
3
3
  attr_reader :thread, :mailbox
4
4
 
5
- # Used for reflecting on proxy objects themselves
6
- def __class__
7
- ::Celluloid::Proxy::Actor
8
- end
9
-
10
5
  def initialize(mailbox, thread)
11
6
  @mailbox = mailbox
12
7
  @thread = thread
@@ -1,21 +1,5 @@
1
1
  # A proxy which sends asynchronous calls to an actor
2
- class Celluloid::Proxy::Async < Celluloid::Proxy::Abstract
3
- attr_reader :mailbox
4
-
5
- # Used for reflecting on proxy objects themselves
6
- def __class__
7
- ::Celluloid::Proxy::Async
8
- end
9
-
10
- def initialize(mailbox, klass)
11
- @mailbox = mailbox
12
- @klass = klass
13
- end
14
-
15
- def inspect
16
- "#<Celluloid::Proxy::Async(#{@klass})>"
17
- end
18
-
2
+ class Celluloid::Proxy::Async < Celluloid::Proxy::AbstractCall
19
3
  def method_missing(meth, *args, &block)
20
4
  if @mailbox == ::Thread.current[:celluloid_mailbox]
21
5
  args.unshift meth
@@ -1,6 +1,7 @@
1
1
  class Celluloid::Proxy::Block
2
2
  attr_writer :execution
3
3
  attr_reader :call, :block
4
+
4
5
  def initialize(mailbox, call, block)
5
6
  @mailbox = mailbox
6
7
  @call = call
@@ -1,15 +1,9 @@
1
1
  # A proxy object returned from Celluloid::Actor.new/new_link which converts
2
2
  # the normal Ruby method protocol into an inter-actor message protocol
3
3
  class Celluloid::Proxy::Cell < Celluloid::Proxy::Sync
4
- # Used for reflecting on proxy objects themselves
5
- def __class__
6
- ::Celluloid::Proxy::Cell
7
- end
8
-
9
4
  def initialize(mailbox, actor_proxy, klass)
10
5
  super(mailbox, klass)
11
6
  @actor_proxy = actor_proxy
12
- @sync_proxy = ::Celluloid::Proxy::Sync.new(mailbox, klass)
13
7
  @async_proxy = ::Celluloid::Proxy::Async.new(mailbox, klass)
14
8
  @future_proxy = ::Celluloid::Proxy::Future.new(mailbox, klass)
15
9
  end
@@ -1,24 +1,8 @@
1
1
  # A proxy which creates future calls to an actor
2
- class Celluloid::Proxy::Future < Celluloid::Proxy::Abstract
3
- attr_reader :mailbox
4
-
5
- # Used for reflecting on proxy objects themselves
6
- def __class__
7
- ::Celluloid::Proxy::Future
8
- end
9
-
10
- def initialize(mailbox, klass)
11
- @mailbox = mailbox
12
- @klass = klass
13
- end
14
-
15
- def inspect
16
- "#<Celluloid::Proxy::Future(#{@klass})>"
17
- end
18
-
2
+ class Celluloid::Proxy::Future < Celluloid::Proxy::AbstractCall
19
3
  def method_missing(meth, *args, &block)
20
4
  unless @mailbox.alive?
21
- fail ::Celluloid::DeadActorError, "attempted to call a dead actor"
5
+ fail ::Celluloid::DeadActorError, "attempted to call a dead actor: #{meth}"
22
6
  end
23
7
 
24
8
  if block_given?
@@ -1,28 +1,12 @@
1
1
  # A proxy which sends synchronous calls to an actor
2
- class Celluloid::Proxy::Sync < Celluloid::Proxy::Abstract
3
- attr_reader :mailbox
4
-
5
- # Used for reflecting on proxy objects themselves
6
- def __class__
7
- ::Celluloid::Proxy::Sync
8
- end
9
-
10
- def initialize(mailbox, klass)
11
- @mailbox = mailbox
12
- @klass = klass
13
- end
14
-
15
- def inspect
16
- "#<Celluloid::Proxy::Sync(#{@klass})>"
17
- end
18
-
2
+ class Celluloid::Proxy::Sync < Celluloid::Proxy::AbstractCall
19
3
  def respond_to?(meth, include_private = false)
20
4
  __class__.instance_methods.include?(meth) || method_missing(:respond_to?, meth, include_private)
21
5
  end
22
6
 
23
7
  def method_missing(meth, *args, &block)
24
8
  unless @mailbox.alive?
25
- fail ::Celluloid::DeadActorError, "attempted to call a dead actor"
9
+ fail ::Celluloid::DeadActorError, "attempted to call a dead actor: #{meth}"
26
10
  end
27
11
 
28
12
  if @mailbox == ::Thread.current[:celluloid_mailbox]
@@ -16,7 +16,6 @@ module Specs
16
16
 
17
17
  CHECK_LOOSE_THREADS = !Nenv.ci? unless defined? CHECK_LOOSE_THREADS
18
18
  ALLOW_RETRIES = 3 unless defined? ALLOW_RETRIES
19
- ALLOW_SLOW_MAILBOXES = false unless defined? ALLOW_SLOW_MAILBOXES
20
19
 
21
20
  INCLUDE_SUPPORT = [
22
21
  "env",
@@ -110,7 +110,9 @@ module Celluloid
110
110
  end
111
111
  attr_reader :task, :value
112
112
 
113
- handler(&:call)
113
+ handler do |event|
114
+ event.call
115
+ end
114
116
 
115
117
  def call
116
118
  @task.resume(@value)
@@ -1,3 +1,3 @@
1
1
  module Celluloid
2
- VERSION = "0.17.2"
2
+ VERSION = "0.17.3"
3
3
  end
@@ -24,4 +24,17 @@ RSpec.describe Celluloid::Mailbox::Evented do
24
24
  expect(Time.now - started_at).to be_within(Specs::TIMER_QUANTUM).of timeout_interval
25
25
  end
26
26
  end
27
+
28
+ it "discard messages when reactor wakeup fails" do
29
+ expect(Celluloid::Internals::Logger).to receive(:crash).with('reactor crashed', RuntimeError)
30
+ expect(Celluloid.logger).to receive(:debug).with("Discarded message (mailbox is dead): first")
31
+
32
+ bad_reactor = Class.new do
33
+ def wakeup
34
+ fail
35
+ end
36
+ end
37
+ mailbox = Celluloid::Mailbox::Evented.new(bad_reactor)
38
+ mailbox << :first
39
+ end
27
40
  end
@@ -0,0 +1,33 @@
1
+ RSpec.describe Celluloid::Proxy::Abstract do
2
+ around do |ex|
3
+ Celluloid.boot
4
+ ex.run
5
+ Celluloid.shutdown
6
+ end
7
+
8
+ let(:task_klass) { Celluloid.task_class }
9
+ let(:actor_class) { ExampleActorClass.create(CelluloidSpecs.included_module, task_klass) }
10
+ let(:actor) { actor_class.new "Troy McClure" }
11
+
12
+ let(:logger) { Specs::FakeLogger.current }
13
+
14
+ it "should be eql? to self" do
15
+ expect(actor.eql? actor).to be_truthy
16
+ end
17
+
18
+ it "should be eql? to self even if dead" do
19
+ actor.terminate
20
+ expect(actor.eql? actor).to be_truthy
21
+ end
22
+
23
+ it "should not be eql? to other proxy objects" do
24
+ other_future = Celluloid::Proxy::Future.new(actor.mailbox, actor.__klass__)
25
+
26
+ expect(actor.future.eql? other_future).to be_truthy
27
+ end
28
+
29
+ it "should be possible to compare with non-proxy objects" do
30
+ expect(actor.eql? "string").to be_falsey
31
+ expect("string".eql? actor).to be_falsey
32
+ end
33
+ end
@@ -29,6 +29,17 @@ RSpec.shared_examples "a Celluloid Actor" do
29
29
  it "can be stored in hashes" do
30
30
  expect(actor.hash).not_to eq(Kernel.hash)
31
31
  expect(actor.object_id).not_to eq(Kernel.object_id)
32
+ expect(actor.eql? actor).to be_truthy
33
+ end
34
+
35
+ it "can be stored in hashes even when dead" do
36
+ actor.terminate
37
+
38
+ expect(actor.dead?).to be_truthy
39
+
40
+ expect(actor.hash).not_to eq(Kernel.hash)
41
+ expect(actor.object_id).not_to eq(Kernel.object_id)
42
+ expect(actor.eql? actor).to be_truthy
32
43
  end
33
44
 
34
45
  it "implements respond_to? correctly" do
@@ -49,7 +49,7 @@ RSpec.configure do |config|
49
49
  end
50
50
 
51
51
  config.around :each, library: :IO do |ex|
52
- Celluloid.boot
52
+ Celluloid.init
53
53
  FileUtils.rm("/tmp/cell_sock") if File.exist?("/tmp/cell_sock")
54
54
  ex.run
55
55
  Celluloid.shutdown
@@ -5,10 +5,6 @@ module Specs
5
5
  next unless thread
6
6
  next if thread == Thread.current
7
7
 
8
- # TODO: Remove Specs::ALLOW_SLOW_MAILBOXES hax.
9
- # Allows slow shutdown of mailboxes.
10
- # Find more graceful way to do shutdown.
11
-
12
8
  if RUBY_PLATFORM == "java"
13
9
  # Avoid disrupting jRuby's "fiber" threads.
14
10
  name = thread.to_java.getNativeThread.get_name
@@ -36,10 +32,6 @@ module Specs
36
32
  next unless thread.backtrace.is_a?(Array)
37
33
  next if thread.backtrace.empty?
38
34
  next if thread.backtrace.first =~ /timeout\.rb/
39
-
40
- if Specs::ALLOW_SLOW_MAILBOXES
41
- next if thread.backtrace[1] =~ /mailbox\.rb/ && thread.backtrace[1] =~ /sleep/
42
- end
43
35
  end
44
36
 
45
37
  thread
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: celluloid
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.17.2
4
+ version: 0.17.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tony Arcieri
@@ -9,256 +9,256 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-09-30 00:00:00.000000000 Z
12
+ date: 2016-01-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
16
- version_requirements: !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
18
  - - ">="
19
19
  - !ruby/object:Gem::Version
20
20
  version: '0'
21
21
  type: :development
22
22
  prerelease: false
23
- requirement: !ruby/object:Gem::Requirement
23
+ version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - ">="
26
26
  - !ruby/object:Gem::Version
27
27
  version: '0'
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: nenv
30
- version_requirements: !ruby/object:Gem::Requirement
30
+ requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
32
  - - ">="
33
33
  - !ruby/object:Gem::Version
34
34
  version: '0'
35
35
  type: :development
36
36
  prerelease: false
37
- requirement: !ruby/object:Gem::Requirement
37
+ version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
39
  - - ">="
40
40
  - !ruby/object:Gem::Version
41
41
  version: '0'
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: dotenv
44
- version_requirements: !ruby/object:Gem::Requirement
44
+ requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
46
  - - ">="
47
47
  - !ruby/object:Gem::Version
48
48
  version: '0'
49
49
  type: :development
50
50
  prerelease: false
51
- requirement: !ruby/object:Gem::Requirement
51
+ version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
53
  - - ">="
54
54
  - !ruby/object:Gem::Version
55
55
  version: '0'
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: benchmark_suite
58
- version_requirements: !ruby/object:Gem::Requirement
58
+ requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
60
  - - ">="
61
61
  - !ruby/object:Gem::Version
62
62
  version: '0'
63
63
  type: :development
64
64
  prerelease: false
65
- requirement: !ruby/object:Gem::Requirement
65
+ version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
67
  - - ">="
68
68
  - !ruby/object:Gem::Version
69
69
  version: '0'
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: rubocop
72
- version_requirements: !ruby/object:Gem::Requirement
72
+ requirement: !ruby/object:Gem::Requirement
73
73
  requirements:
74
74
  - - ">="
75
75
  - !ruby/object:Gem::Version
76
76
  version: '0'
77
77
  type: :development
78
78
  prerelease: false
79
- requirement: !ruby/object:Gem::Requirement
79
+ version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
81
  - - ">="
82
82
  - !ruby/object:Gem::Version
83
83
  version: '0'
84
84
  - !ruby/object:Gem::Dependency
85
85
  name: transpec
86
- version_requirements: !ruby/object:Gem::Requirement
86
+ requirement: !ruby/object:Gem::Requirement
87
87
  requirements:
88
88
  - - ">="
89
89
  - !ruby/object:Gem::Version
90
90
  version: '0'
91
91
  type: :development
92
92
  prerelease: false
93
- requirement: !ruby/object:Gem::Requirement
93
+ version_requirements: !ruby/object:Gem::Requirement
94
94
  requirements:
95
95
  - - ">="
96
96
  - !ruby/object:Gem::Version
97
97
  version: '0'
98
98
  - !ruby/object:Gem::Dependency
99
99
  name: pry
100
- version_requirements: !ruby/object:Gem::Requirement
100
+ requirement: !ruby/object:Gem::Requirement
101
101
  requirements:
102
102
  - - ">="
103
103
  - !ruby/object:Gem::Version
104
104
  version: '0'
105
105
  type: :development
106
106
  prerelease: false
107
- requirement: !ruby/object:Gem::Requirement
107
+ version_requirements: !ruby/object:Gem::Requirement
108
108
  requirements:
109
109
  - - ">="
110
110
  - !ruby/object:Gem::Version
111
111
  version: '0'
112
112
  - !ruby/object:Gem::Dependency
113
113
  name: rake
114
- version_requirements: !ruby/object:Gem::Requirement
114
+ requirement: !ruby/object:Gem::Requirement
115
115
  requirements:
116
116
  - - ">="
117
117
  - !ruby/object:Gem::Version
118
118
  version: '0'
119
119
  type: :development
120
120
  prerelease: false
121
- requirement: !ruby/object:Gem::Requirement
121
+ version_requirements: !ruby/object:Gem::Requirement
122
122
  requirements:
123
123
  - - ">="
124
124
  - !ruby/object:Gem::Version
125
125
  version: '0'
126
126
  - !ruby/object:Gem::Dependency
127
127
  name: rspec
128
- version_requirements: !ruby/object:Gem::Requirement
128
+ requirement: !ruby/object:Gem::Requirement
129
129
  requirements:
130
130
  - - ">="
131
131
  - !ruby/object:Gem::Version
132
132
  version: '0'
133
133
  type: :development
134
134
  prerelease: false
135
- requirement: !ruby/object:Gem::Requirement
135
+ version_requirements: !ruby/object:Gem::Requirement
136
136
  requirements:
137
137
  - - ">="
138
138
  - !ruby/object:Gem::Version
139
139
  version: '0'
140
140
  - !ruby/object:Gem::Dependency
141
141
  name: guard-rspec
142
- version_requirements: !ruby/object:Gem::Requirement
142
+ requirement: !ruby/object:Gem::Requirement
143
143
  requirements:
144
144
  - - ">="
145
145
  - !ruby/object:Gem::Version
146
146
  version: '0'
147
147
  type: :development
148
148
  prerelease: false
149
- requirement: !ruby/object:Gem::Requirement
149
+ version_requirements: !ruby/object:Gem::Requirement
150
150
  requirements:
151
151
  - - ">="
152
152
  - !ruby/object:Gem::Version
153
153
  version: '0'
154
154
  - !ruby/object:Gem::Dependency
155
155
  name: rspec-retry
156
- version_requirements: !ruby/object:Gem::Requirement
156
+ requirement: !ruby/object:Gem::Requirement
157
157
  requirements:
158
158
  - - ">="
159
159
  - !ruby/object:Gem::Version
160
160
  version: '0'
161
161
  type: :development
162
162
  prerelease: false
163
- requirement: !ruby/object:Gem::Requirement
163
+ version_requirements: !ruby/object:Gem::Requirement
164
164
  requirements:
165
165
  - - ">="
166
166
  - !ruby/object:Gem::Version
167
167
  version: '0'
168
168
  - !ruby/object:Gem::Dependency
169
169
  name: coveralls
170
- version_requirements: !ruby/object:Gem::Requirement
170
+ requirement: !ruby/object:Gem::Requirement
171
171
  requirements:
172
172
  - - ">="
173
173
  - !ruby/object:Gem::Version
174
174
  version: '0'
175
175
  type: :development
176
176
  prerelease: false
177
- requirement: !ruby/object:Gem::Requirement
177
+ version_requirements: !ruby/object:Gem::Requirement
178
178
  requirements:
179
179
  - - ">="
180
180
  - !ruby/object:Gem::Version
181
181
  version: '0'
182
182
  - !ruby/object:Gem::Dependency
183
183
  name: celluloid-essentials
184
- version_requirements: !ruby/object:Gem::Requirement
184
+ requirement: !ruby/object:Gem::Requirement
185
185
  requirements:
186
186
  - - ">="
187
187
  - !ruby/object:Gem::Version
188
188
  version: '0'
189
189
  type: :runtime
190
190
  prerelease: false
191
- requirement: !ruby/object:Gem::Requirement
191
+ version_requirements: !ruby/object:Gem::Requirement
192
192
  requirements:
193
193
  - - ">="
194
194
  - !ruby/object:Gem::Version
195
195
  version: '0'
196
196
  - !ruby/object:Gem::Dependency
197
197
  name: celluloid-supervision
198
- version_requirements: !ruby/object:Gem::Requirement
198
+ requirement: !ruby/object:Gem::Requirement
199
199
  requirements:
200
200
  - - ">="
201
201
  - !ruby/object:Gem::Version
202
202
  version: '0'
203
203
  type: :runtime
204
204
  prerelease: false
205
- requirement: !ruby/object:Gem::Requirement
205
+ version_requirements: !ruby/object:Gem::Requirement
206
206
  requirements:
207
207
  - - ">="
208
208
  - !ruby/object:Gem::Version
209
209
  version: '0'
210
210
  - !ruby/object:Gem::Dependency
211
211
  name: celluloid-pool
212
- version_requirements: !ruby/object:Gem::Requirement
212
+ requirement: !ruby/object:Gem::Requirement
213
213
  requirements:
214
214
  - - ">="
215
215
  - !ruby/object:Gem::Version
216
216
  version: '0'
217
217
  type: :runtime
218
218
  prerelease: false
219
- requirement: !ruby/object:Gem::Requirement
219
+ version_requirements: !ruby/object:Gem::Requirement
220
220
  requirements:
221
221
  - - ">="
222
222
  - !ruby/object:Gem::Version
223
223
  version: '0'
224
224
  - !ruby/object:Gem::Dependency
225
225
  name: celluloid-fsm
226
- version_requirements: !ruby/object:Gem::Requirement
226
+ requirement: !ruby/object:Gem::Requirement
227
227
  requirements:
228
228
  - - ">="
229
229
  - !ruby/object:Gem::Version
230
230
  version: '0'
231
231
  type: :runtime
232
232
  prerelease: false
233
- requirement: !ruby/object:Gem::Requirement
233
+ version_requirements: !ruby/object:Gem::Requirement
234
234
  requirements:
235
235
  - - ">="
236
236
  - !ruby/object:Gem::Version
237
237
  version: '0'
238
238
  - !ruby/object:Gem::Dependency
239
239
  name: celluloid-extras
240
- version_requirements: !ruby/object:Gem::Requirement
240
+ requirement: !ruby/object:Gem::Requirement
241
241
  requirements:
242
242
  - - ">="
243
243
  - !ruby/object:Gem::Version
244
244
  version: '0'
245
245
  type: :runtime
246
246
  prerelease: false
247
- requirement: !ruby/object:Gem::Requirement
247
+ version_requirements: !ruby/object:Gem::Requirement
248
248
  requirements:
249
249
  - - ">="
250
250
  - !ruby/object:Gem::Version
251
251
  version: '0'
252
252
  - !ruby/object:Gem::Dependency
253
253
  name: timers
254
- version_requirements: !ruby/object:Gem::Requirement
254
+ requirement: !ruby/object:Gem::Requirement
255
255
  requirements:
256
256
  - - ">="
257
257
  - !ruby/object:Gem::Version
258
258
  version: 4.1.1
259
259
  type: :runtime
260
260
  prerelease: false
261
- requirement: !ruby/object:Gem::Requirement
261
+ version_requirements: !ruby/object:Gem::Requirement
262
262
  requirements:
263
263
  - - ">="
264
264
  - !ruby/object:Gem::Version
@@ -346,7 +346,6 @@ files:
346
346
  - lib/celluloid/test.rb
347
347
  - lib/celluloid/thread.rb
348
348
  - lib/celluloid/version.rb
349
- - spec/celluloid/actor/manager_spec.rb
350
349
  - spec/celluloid/actor/system_spec.rb
351
350
  - spec/celluloid/actor_spec.rb
352
351
  - spec/celluloid/block_spec.rb
@@ -360,6 +359,7 @@ files:
360
359
  - spec/celluloid/mailbox/evented_spec.rb
361
360
  - spec/celluloid/mailbox_spec.rb
362
361
  - spec/celluloid/misc/leak_spec.rb
362
+ - spec/celluloid/proxy_spec.rb
363
363
  - spec/celluloid/task/fibered_spec.rb
364
364
  - spec/celluloid/task/threaded_spec.rb
365
365
  - spec/celluloid/timer_spec.rb
@@ -408,8 +408,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
408
408
  version: 1.3.6
409
409
  requirements: []
410
410
  rubyforge_project:
411
- rubygems_version: 2.4.8
411
+ rubygems_version: 2.5.1
412
412
  signing_key:
413
413
  specification_version: 4
414
414
  summary: Actor-based concurrent object framework for Ruby
415
415
  test_files: []
416
+ has_rdoc:
File without changes