celluloid 0.14.1 → 0.15.0.pre

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.
Files changed (60) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +6 -2
  3. data/lib/celluloid.rb +92 -108
  4. data/lib/celluloid/actor.rb +42 -64
  5. data/lib/celluloid/autostart.rb +1 -1
  6. data/lib/celluloid/call_chain.rb +13 -0
  7. data/lib/celluloid/calls.rb +5 -8
  8. data/lib/celluloid/condition.rb +8 -10
  9. data/lib/celluloid/cpu_counter.rb +1 -1
  10. data/lib/celluloid/evented_mailbox.rb +7 -10
  11. data/lib/celluloid/fsm.rb +1 -1
  12. data/lib/celluloid/future.rb +1 -2
  13. data/lib/celluloid/internal_pool.rb +77 -20
  14. data/lib/celluloid/legacy.rb +0 -38
  15. data/lib/celluloid/mailbox.rb +17 -10
  16. data/lib/celluloid/pool_manager.rb +1 -1
  17. data/lib/celluloid/properties.rb +24 -0
  18. data/lib/celluloid/proxies/abstract_proxy.rb +3 -0
  19. data/lib/celluloid/proxies/actor_proxy.rb +3 -32
  20. data/lib/celluloid/proxies/async_proxy.rb +4 -8
  21. data/lib/celluloid/proxies/future_proxy.rb +8 -6
  22. data/lib/celluloid/proxies/sync_proxy.rb +12 -7
  23. data/lib/celluloid/rspec.rb +3 -1
  24. data/lib/celluloid/signals.rb +7 -35
  25. data/lib/celluloid/stack_dump.rb +50 -37
  26. data/lib/celluloid/supervision_group.rb +5 -5
  27. data/lib/celluloid/task_set.rb +49 -0
  28. data/lib/celluloid/tasks.rb +67 -42
  29. data/lib/celluloid/tasks/task_fiber.rb +3 -1
  30. data/lib/celluloid/tasks/task_thread.rb +2 -3
  31. data/lib/celluloid/thread.rb +2 -0
  32. data/spec/celluloid/actor_spec.rb +5 -0
  33. data/spec/celluloid/block_spec.rb +54 -0
  34. data/spec/celluloid/calls_spec.rb +42 -0
  35. data/spec/celluloid/condition_spec.rb +65 -0
  36. data/spec/celluloid/evented_mailbox_spec.rb +34 -0
  37. data/spec/celluloid/fsm_spec.rb +107 -0
  38. data/spec/celluloid/future_spec.rb +32 -0
  39. data/spec/celluloid/internal_pool_spec.rb +52 -0
  40. data/spec/celluloid/links_spec.rb +45 -0
  41. data/spec/celluloid/logging/ring_buffer_spec.rb +38 -0
  42. data/spec/celluloid/mailbox_spec.rb +5 -0
  43. data/spec/celluloid/notifications_spec.rb +120 -0
  44. data/spec/celluloid/pool_spec.rb +52 -0
  45. data/spec/celluloid/properties_spec.rb +42 -0
  46. data/spec/celluloid/registry_spec.rb +64 -0
  47. data/spec/celluloid/stack_dump_spec.rb +35 -0
  48. data/spec/celluloid/supervision_group_spec.rb +53 -0
  49. data/spec/celluloid/supervisor_spec.rb +92 -0
  50. data/spec/celluloid/tasks/task_fiber_spec.rb +5 -0
  51. data/spec/celluloid/tasks/task_thread_spec.rb +5 -0
  52. data/spec/celluloid/thread_handle_spec.rb +22 -0
  53. data/spec/celluloid/uuid_spec.rb +11 -0
  54. data/spec/spec_helper.rb +31 -0
  55. data/spec/support/actor_examples.rb +161 -10
  56. data/spec/support/example_actor_class.rb +8 -0
  57. data/spec/support/mailbox_examples.rb +15 -3
  58. data/spec/support/task_examples.rb +2 -2
  59. metadata +28 -3
  60. data/lib/celluloid/version.rb +0 -4
@@ -12,6 +12,10 @@ module ExampleActorClass
12
12
  @delegate = [:bar]
13
13
  end
14
14
 
15
+ def sleepy(duration)
16
+ sleep duration
17
+ end
18
+
15
19
  def change_name(new_name)
16
20
  @name = new_name
17
21
  end
@@ -66,6 +70,10 @@ module ExampleActorClass
66
70
  string.reverse
67
71
  end
68
72
 
73
+ def shutdown
74
+ terminate
75
+ end
76
+
69
77
  def method_missing(method_name, *args, &block)
70
78
  if delegates?(method_name)
71
79
  @delegate.send method_name, *args, &block
@@ -43,7 +43,7 @@ shared_context "a Celluloid Mailbox" do
43
43
  subject.size.should be_zero
44
44
  subject << :foo
45
45
  subject << :foo
46
- subject.size.should be 2
46
+ subject.should have(2).entries
47
47
  end
48
48
 
49
49
  it "discards messages received when when full" do
@@ -55,12 +55,24 @@ shared_context "a Celluloid Mailbox" do
55
55
  end
56
56
 
57
57
  it "logs discarded messages" do
58
- Celluloid.logger = mock.as_null_object
59
- Celluloid.logger.should_receive(:debug).with("Discarded message: third")
58
+ Celluloid.logger = double.as_null_object
59
+ Celluloid.logger.should_receive(:debug).with("Discarded message (mailbox is dead): third")
60
60
 
61
61
  subject.max_size = 2
62
62
  subject << :first
63
63
  subject << :second
64
64
  subject << :third
65
65
  end
66
+
67
+ it "discard messages when dead" do
68
+ Celluloid.logger = double.as_null_object
69
+ Celluloid.logger.should_receive(:debug).with("Discarded message (mailbox is dead): first")
70
+ Celluloid.logger.should_receive(:debug).with("Discarded message (mailbox is dead): second")
71
+ Celluloid.logger.should_receive(:debug).with("Discarded message (mailbox is dead): third")
72
+
73
+ subject << :first
74
+ subject << :second
75
+ subject.shutdown
76
+ subject << :third
77
+ end
66
78
  end
@@ -14,7 +14,7 @@ shared_context "a Celluloid Task" do |task_class|
14
14
  let(:suspend_state) { :doing_something }
15
15
  let(:actor) { MockActor.new }
16
16
 
17
- subject { task_class.new(task_type) { Celluloid::Task.suspend(suspend_state) } }
17
+ subject { task_class.new(task_type, {}) { Celluloid::Task.suspend(suspend_state) } }
18
18
 
19
19
  before :each do
20
20
  Thread.current[:celluloid_actor] = actor
@@ -37,7 +37,7 @@ shared_context "a Celluloid Task" do |task_class|
37
37
  end
38
38
 
39
39
  it "raises exceptions outside" do
40
- task = task_class.new(task_type) do
40
+ task = task_class.new(task_type, {}) do
41
41
  raise "failure"
42
42
  end
43
43
  expect do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: celluloid
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.14.1
4
+ version: 0.15.0.pre
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tony Arcieri
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-05-31 00:00:00.000000000 Z
11
+ date: 2013-08-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: timers
@@ -91,6 +91,7 @@ files:
91
91
  - README.md
92
92
  - lib/celluloid/actor.rb
93
93
  - lib/celluloid/autostart.rb
94
+ - lib/celluloid/call_chain.rb
94
95
  - lib/celluloid/calls.rb
95
96
  - lib/celluloid/condition.rb
96
97
  - lib/celluloid/core_ext.rb
@@ -113,6 +114,7 @@ files:
113
114
  - lib/celluloid/method.rb
114
115
  - lib/celluloid/notifications.rb
115
116
  - lib/celluloid/pool_manager.rb
117
+ - lib/celluloid/properties.rb
116
118
  - lib/celluloid/proxies/abstract_proxy.rb
117
119
  - lib/celluloid/proxies/actor_proxy.rb
118
120
  - lib/celluloid/proxies/async_proxy.rb
@@ -128,14 +130,37 @@ files:
128
130
  - lib/celluloid/supervision_group.rb
129
131
  - lib/celluloid/supervisor.rb
130
132
  - lib/celluloid/system_events.rb
133
+ - lib/celluloid/task_set.rb
131
134
  - lib/celluloid/tasks/task_fiber.rb
132
135
  - lib/celluloid/tasks/task_thread.rb
133
136
  - lib/celluloid/tasks.rb
134
137
  - lib/celluloid/thread.rb
135
138
  - lib/celluloid/thread_handle.rb
136
139
  - lib/celluloid/uuid.rb
137
- - lib/celluloid/version.rb
138
140
  - lib/celluloid.rb
141
+ - spec/celluloid/actor_spec.rb
142
+ - spec/celluloid/block_spec.rb
143
+ - spec/celluloid/calls_spec.rb
144
+ - spec/celluloid/condition_spec.rb
145
+ - spec/celluloid/evented_mailbox_spec.rb
146
+ - spec/celluloid/fsm_spec.rb
147
+ - spec/celluloid/future_spec.rb
148
+ - spec/celluloid/internal_pool_spec.rb
149
+ - spec/celluloid/links_spec.rb
150
+ - spec/celluloid/logging/ring_buffer_spec.rb
151
+ - spec/celluloid/mailbox_spec.rb
152
+ - spec/celluloid/notifications_spec.rb
153
+ - spec/celluloid/pool_spec.rb
154
+ - spec/celluloid/properties_spec.rb
155
+ - spec/celluloid/registry_spec.rb
156
+ - spec/celluloid/stack_dump_spec.rb
157
+ - spec/celluloid/supervision_group_spec.rb
158
+ - spec/celluloid/supervisor_spec.rb
159
+ - spec/celluloid/tasks/task_fiber_spec.rb
160
+ - spec/celluloid/tasks/task_thread_spec.rb
161
+ - spec/celluloid/thread_handle_spec.rb
162
+ - spec/celluloid/uuid_spec.rb
163
+ - spec/spec_helper.rb
139
164
  - spec/support/actor_examples.rb
140
165
  - spec/support/example_actor_class.rb
141
166
  - spec/support/mailbox_examples.rb
@@ -1,4 +0,0 @@
1
- module Celluloid
2
- VERSION = '0.14.1'
3
- def self.version; VERSION; end
4
- end