synapse-core 0.5.1 → 0.5.2

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 (101) hide show
  1. checksums.yaml +7 -0
  2. data/lib/synapse.rb +1 -1
  3. data/lib/synapse/command.rb +1 -1
  4. data/lib/synapse/command/command_handler.rb +1 -1
  5. data/lib/synapse/command/mapping.rb +71 -0
  6. data/lib/synapse/command/message.rb +0 -16
  7. data/lib/synapse/command/simple_command_bus.rb +5 -2
  8. data/lib/synapse/common/message.rb +16 -0
  9. data/lib/synapse/configuration.rb +1 -18
  10. data/lib/synapse/configuration/component/command_bus.rb +7 -24
  11. data/lib/synapse/configuration/component/command_bus/simple_command_bus.rb +31 -7
  12. data/lib/synapse/configuration/component/event_bus.rb +3 -8
  13. data/lib/synapse/configuration/component/event_sourcing.rb +11 -8
  14. data/lib/synapse/configuration/component/event_sourcing/aggregate_snapshot_taker.rb +48 -0
  15. data/lib/synapse/configuration/component/event_sourcing/interval_snapshot_policy.rb +33 -0
  16. data/lib/synapse/configuration/component/event_sourcing/repository.rb +36 -1
  17. data/lib/synapse/configuration/component/repository.rb +4 -8
  18. data/lib/synapse/configuration/component/serialization.rb +5 -16
  19. data/lib/synapse/configuration/component/uow.rb +3 -8
  20. data/lib/synapse/configuration/component/upcasting.rb +3 -8
  21. data/lib/synapse/configuration/container_builder.rb +29 -2
  22. data/lib/synapse/configuration/definition_builder.rb +47 -23
  23. data/lib/synapse/domain/message.rb +0 -16
  24. data/lib/synapse/event_bus.rb +1 -1
  25. data/lib/synapse/event_bus/event_listener.rb +1 -1
  26. data/lib/synapse/event_bus/mapping.rb +47 -0
  27. data/lib/synapse/event_sourcing.rb +3 -2
  28. data/lib/synapse/event_sourcing/aggregate_factory.rb +4 -3
  29. data/lib/synapse/event_sourcing/aggregate_root.rb +17 -0
  30. data/lib/synapse/event_sourcing/conflict_resolver.rb +3 -0
  31. data/lib/synapse/event_sourcing/member.rb +34 -6
  32. data/lib/synapse/event_sourcing/repository.rb +17 -0
  33. data/lib/synapse/event_sourcing/snapshot/aggregate_taker.rb +38 -0
  34. data/lib/synapse/event_sourcing/snapshot/policy.rb +27 -0
  35. data/lib/synapse/event_sourcing/snapshot/taker.rb +2 -37
  36. data/lib/synapse/event_sourcing/snapshot/unit_listener.rb +26 -0
  37. data/lib/synapse/event_sourcing/stream_decorator.rb +8 -6
  38. data/lib/synapse/event_store/errors.rb +2 -2
  39. data/lib/synapse/mapping.rb +2 -0
  40. data/lib/synapse/mapping/mapper.rb +75 -0
  41. data/lib/synapse/{wiring/wire.rb → mapping/mapping.rb} +8 -8
  42. data/lib/synapse/process_manager.rb +2 -2
  43. data/lib/synapse/process_manager/mapping/process.rb +44 -0
  44. data/lib/synapse/process_manager/{wiring → mapping}/process_manager.rb +13 -13
  45. data/lib/synapse/process_manager/process.rb +3 -3
  46. data/lib/synapse/repository/locking.rb +14 -8
  47. data/lib/synapse/upcasting/upcaster_chain.rb +2 -2
  48. data/lib/synapse/version.rb +1 -1
  49. data/test/command/{wiring_test.rb → mapping_test.rb} +11 -11
  50. data/test/configuration/component/command_bus/simple_command_bus_test.rb +30 -0
  51. data/test/configuration/component/event_bus/simple_event_bus_test.rb +2 -2
  52. data/test/configuration/component/event_sourcing/repository_test.rb +71 -0
  53. data/test/configuration/component/repository/simple_repository_test.rb +35 -0
  54. data/test/configuration/component/upcasting/upcaster_chain_test.rb +29 -0
  55. data/test/configuration/container_builder_test.rb +4 -6
  56. data/test/event_bus/{wiring_test.rb → mapping_test.rb} +6 -6
  57. data/test/event_sourcing/aggregate_factory_test.rb +5 -1
  58. data/test/event_sourcing/aggregate_root_test.rb +1 -0
  59. data/test/event_sourcing/fixtures.rb +21 -21
  60. data/test/event_sourcing/repository_test.rb +10 -0
  61. data/test/event_sourcing/snapshot/aggregate_taker_test.rb +1 -1
  62. data/test/event_sourcing/snapshot/interval_policy_test.rb +24 -0
  63. data/test/process_manager/{wiring → mapping}/fixtures.rb +7 -8
  64. data/test/process_manager/{wiring → mapping}/process_manager_test.rb +6 -6
  65. data/test/process_manager/{wiring → mapping}/process_test.rb +3 -3
  66. data/test/serialization/converter/chain_test.rb +2 -2
  67. data/test/serialization/converter/factory_test.rb +2 -2
  68. data/test/serialization/converter/identity_test.rb +1 -1
  69. data/test/serialization/converter/json_test.rb +2 -2
  70. data/test/serialization/converter/ox_test.rb +2 -2
  71. data/test/serialization/lazy_object_test.rb +1 -1
  72. data/test/serialization/message/metadata_test.rb +1 -1
  73. data/test/serialization/message/serialization_aware_message_test.rb +5 -5
  74. data/test/serialization/message/serialized_message_builder_test.rb +1 -1
  75. data/test/serialization/message/serialized_message_test.rb +5 -5
  76. data/test/serialization/message/serializer_test.rb +2 -2
  77. data/test/serialization/revision_resolver_test.rb +1 -1
  78. data/test/serialization/serialized_object_test.rb +2 -2
  79. data/test/serialization/serialized_type_test.rb +2 -2
  80. data/test/serialization/serializer/marshal_test.rb +1 -1
  81. data/test/serialization/serializer/oj_test.rb +1 -1
  82. data/test/serialization/serializer/ox_test.rb +2 -2
  83. data/test/serialization/serializer_test.rb +1 -1
  84. data/test/uow/factory_test.rb +1 -1
  85. data/test/uow/outer_commit_listener_test.rb +4 -4
  86. data/test/uow/provider_test.rb +5 -5
  87. data/test/uow/uow_test.rb +19 -17
  88. data/test/upcasting/chain_test.rb +1 -1
  89. data/test/upcasting/data_test.rb +3 -1
  90. metadata +30 -37
  91. data/lib/synapse/command/wiring.rb +0 -47
  92. data/lib/synapse/event_bus/wiring.rb +0 -20
  93. data/lib/synapse/event_sourcing/snapshot/count_stream.rb +0 -86
  94. data/lib/synapse/event_sourcing/snapshot/count_trigger.rb +0 -91
  95. data/lib/synapse/process_manager/wiring/process.rb +0 -27
  96. data/lib/synapse/wiring.rb +0 -3
  97. data/lib/synapse/wiring/message_wiring.rb +0 -76
  98. data/lib/synapse/wiring/wire_registry.rb +0 -61
  99. data/test/event_sourcing/snapshot/integration_test.rb +0 -65
  100. data/test/wiring/wire_registry_test.rb +0 -60
  101. data/test/wiring/wire_test.rb +0 -51
@@ -4,7 +4,7 @@ module Synapse
4
4
  module Serialization
5
5
 
6
6
  class SerializedDomainEventMessageBuilderTest < Test::Unit::TestCase
7
- def test_from_data
7
+ should 'build a message from serialized domain event data' do
8
8
  builder = SerializedDomainEventMessageBuilder.new
9
9
 
10
10
  serializer = MarshalSerializer.new ConverterFactory.new
@@ -4,7 +4,7 @@ module Synapse
4
4
  module Serialization
5
5
 
6
6
  class SerializedMessageTest < Test::Unit::TestCase
7
- def test_build
7
+ should 'provide a builder for serialized messages' do
8
8
  message = SerializedMessage.build do |builder|
9
9
  assert builder.is_a? SerializedMessageBuilder
10
10
  end
@@ -13,7 +13,7 @@ module Synapse
13
13
  end
14
14
 
15
15
  class SerializedEventMessageTest < Test::Unit::TestCase
16
- def test_build
16
+ should 'provide a builder for serialized event messages' do
17
17
  message = SerializedEventMessage.build do |builder|
18
18
  assert builder.is_a? SerializedEventMessageBuilder
19
19
  end
@@ -28,7 +28,7 @@ module Synapse
28
28
  @serializer_b = MarshalSerializer.new converter_factory
29
29
  end
30
30
 
31
- def test_serialization
31
+ should 'lazily deserialize metadata and payload' do
32
32
  metadata = { foo: 0 }
33
33
  payload = { bar: 1 }
34
34
 
@@ -63,7 +63,7 @@ module Synapse
63
63
  assert_equal payload_serialized, payload_serialized_b
64
64
  end
65
65
 
66
- def test_and_metadata
66
+ should 'populate fields of message duplicated to add metadata' do
67
67
  metadata = { foo: 0 }
68
68
  payload = { bar: 1 }
69
69
 
@@ -95,7 +95,7 @@ module Synapse
95
95
  assert_message_content_equal message, new_message
96
96
  end
97
97
 
98
- def test_with_metadata
98
+ should 'populate fields of message duplicated to replace metadata' do
99
99
  metadata = { foo: 0 }
100
100
  payload = { bar: 1 }
101
101
 
@@ -3,7 +3,7 @@ require 'test_helper'
3
3
  module Synapse
4
4
  module Serialization
5
5
  class MessageSerializerTest < Test::Unit::TestCase
6
- def test_serialize
6
+ should 'delegate serialization to serializer if message not serialization aware' do
7
7
  delegate = Object.new
8
8
  serializer = MessageSerializer.new delegate
9
9
 
@@ -29,7 +29,7 @@ module Synapse
29
29
  assert_equal serialized_payload, serializer.serialize_payload(m, String)
30
30
  end
31
31
 
32
- def test_serialization_aware
32
+ should 'delegate serialization to message if serialization aware' do
33
33
  delegate = Object.new
34
34
  serializer = MessageSerializer.new delegate
35
35
 
@@ -3,7 +3,7 @@ require 'test_helper'
3
3
  module Synapse
4
4
  module Serialization
5
5
  class FixedRevisionResolverTest < Test::Unit::TestCase
6
- def test_revision_of
6
+ should 'return a fixed revision' do
7
7
  resolver = FixedRevisionResolver.new 1
8
8
  assert_equal '1', resolver.revision_of(Array)
9
9
  end
@@ -4,7 +4,7 @@ module Synapse
4
4
  module Serialization
5
5
  class SerializedObjectTest < Test::Unit::TestCase
6
6
 
7
- def test_attributes
7
+ should 'provide initialized fields' do
8
8
  content = 'some content'
9
9
  type = SerializedType.new 'SomeClass', '1'
10
10
 
@@ -15,7 +15,7 @@ module Synapse
15
15
  assert_equal type, object.type
16
16
  end
17
17
 
18
- def test_object_equality
18
+ should 'support object equality and hashing' do
19
19
  type_a = SerializedType.new 'SomeClass', '1'
20
20
  type_b = SerializedType.new 'SomeClass', '2'
21
21
 
@@ -4,14 +4,14 @@ module Synapse
4
4
  module Serialization
5
5
  class SerializedTypeTest < Test::Unit::TestCase
6
6
 
7
- def test_attributes
7
+ should 'provide initialized fields' do
8
8
  type = SerializedType.new 'SomeClass', '1'
9
9
 
10
10
  assert_equal 'SomeClass', type.name
11
11
  assert_equal '1', type.revision
12
12
  end
13
13
 
14
- def test_object_equality
14
+ should 'support object equality and hashing' do
15
15
  a = SerializedType.new 'SomeClass', '1'
16
16
  b = SerializedType.new 'SomeClass', '1'
17
17
  c = SerializedType.new 'SomeClass', '2'
@@ -6,7 +6,7 @@ module Synapse
6
6
 
7
7
  class MarshalSerializerTest < Test::Unit::TestCase
8
8
 
9
- def test_serialize_deserialize
9
+ should 'support serializing and deserializing content' do
10
10
  serializer = MarshalSerializer.new ConverterFactory.new
11
11
  event = TestEvent.new 'derp', 'herp'
12
12
 
@@ -9,7 +9,7 @@ module Synapse
9
9
  skip 'Oj not supported on JRuby' if defined? JRUBY_VERSION
10
10
  end
11
11
 
12
- def test_serialize_deserialize
12
+ should 'support serializing and deserializing content' do
13
13
  serializer = OjSerializer.new ConverterFactory.new
14
14
  event = TestEvent.new 'derp', 'herp'
15
15
 
@@ -11,7 +11,7 @@ module Synapse
11
11
  @serializer = OxSerializer.new ConverterFactory.new
12
12
  end
13
13
 
14
- def test_serialize_and_deserialize
14
+ should 'support serializing and deserializing content' do
15
15
  event = TestEvent.new 'derp', 'herp'
16
16
 
17
17
  serialized_obj = @serializer.serialize event, String
@@ -20,7 +20,7 @@ module Synapse
20
20
  assert_equal event, deserialized
21
21
  end
22
22
 
23
- def test_type_converison
23
+ should 'support converting content to/from the native type' do
24
24
  type = SerializedType.new 'String', nil
25
25
 
26
26
  assert_equal String, @serializer.class_for(type)
@@ -4,7 +4,7 @@ module Synapse
4
4
  module Serialization
5
5
 
6
6
  class SerializerTest < Test::Unit::TestCase
7
- def test_revision
7
+ should 'add revisions to serialized objects when a revision resolver is present' do
8
8
  revision = '123'
9
9
 
10
10
  serializer = Serializer.new ConverterFactory.new
@@ -3,7 +3,7 @@ require 'test_helper'
3
3
  module Synapse
4
4
  module UnitOfWork
5
5
  class UnitOfWorkFactoryTest < Test::Unit::TestCase
6
- def test_create
6
+ should 'create a unit of work, set the transaction manager and start it' do
7
7
  provider = UnitOfWorkProvider.new
8
8
  txm = Object.new
9
9
  factory = UnitOfWorkFactory.new provider
@@ -10,12 +10,12 @@ module Synapse
10
10
  @listener = OuterCommitUnitOfWorkListener.new @inner_unit, @provider
11
11
  end
12
12
 
13
- def test_after_commit
13
+ should 'commit the inner unit if the outer unit is committed' do
14
14
  mock(@inner_unit).perform_inner_commit
15
15
  @listener.after_commit @outer_unit
16
16
  end
17
17
 
18
- def test_on_rollback
18
+ should 'rollback the inner unit if the outer unit is rolled back' do
19
19
  cause = TestError.new
20
20
 
21
21
  mock(@provider).push(@inner_unit)
@@ -25,7 +25,7 @@ module Synapse
25
25
  @listener.on_rollback @outer_unit, cause
26
26
  end
27
27
 
28
- def test_on_rollback_handles_exception
28
+ should 'ensure the inner unit is rolled back if the outer unit is rolled back' do
29
29
  cause = TestError.new
30
30
 
31
31
  mock(@provider).push(@inner_unit)
@@ -39,7 +39,7 @@ module Synapse
39
39
  end
40
40
  end
41
41
 
42
- def test_on_cleanup
42
+ should 'cleanup the inner unit if the outer unit is cleaned up' do
43
43
  mock(@inner_unit).perform_cleanup
44
44
  @listener.on_cleanup @outer_unit
45
45
  end
@@ -7,7 +7,7 @@ module Synapse
7
7
  @provider = UnitOfWorkProvider.new
8
8
  end
9
9
 
10
- def test_clear
10
+ should 'clear the current unit of work if it matches the given unit of work' do
11
11
  uow = UnitOfWork.new @provider
12
12
  uow.start
13
13
 
@@ -16,7 +16,7 @@ module Synapse
16
16
  refute @provider.started?
17
17
  end
18
18
 
19
- def test_clear_raises_mismatch
19
+ should 'raise an exception if the given unit of work to be cleared does not match the current unit of work' do
20
20
  outer = UnitOfWork.new @provider
21
21
  inner = UnitOfWork.new @provider
22
22
 
@@ -28,7 +28,7 @@ module Synapse
28
28
  end
29
29
  end
30
30
 
31
- def test_commit
31
+ should 'commit the current unit of work and clear it from the provider' do
32
32
  uow = UnitOfWork.new @provider
33
33
  uow.start
34
34
 
@@ -38,7 +38,7 @@ module Synapse
38
38
  refute uow.started?
39
39
  end
40
40
 
41
- def test_current
41
+ should 'return the current unit of work, if one is in the stack' do
42
42
  uow = UnitOfWork.new @provider
43
43
 
44
44
  assert_raises RuntimeError do
@@ -50,7 +50,7 @@ module Synapse
50
50
  assert_same uow, @provider.current
51
51
  end
52
52
 
53
- def test_threading
53
+ should 'keep unit of work stacks separate for each thread' do
54
54
  t1 = Thread.new {
55
55
  uow = UnitOfWork.new @provider
56
56
  uow.start
data/test/uow/uow_test.rb CHANGED
@@ -14,7 +14,7 @@ module Synapse
14
14
  end
15
15
  end
16
16
 
17
- def test_start_raises
17
+ should 'raise an exception if the unit is started twice' do
18
18
  @uow.start
19
19
 
20
20
  assert_raises RuntimeError do
@@ -24,13 +24,13 @@ module Synapse
24
24
  @uow.rollback
25
25
  end
26
26
 
27
- def test_commit_raises_if_not_started
27
+ should 'raise an exception if a commit is requested but the unit is not started' do
28
28
  assert_raises RuntimeError do
29
29
  @uow.commit
30
30
  end
31
31
  end
32
32
 
33
- def test_similar_aggregates
33
+ should 'keep an identity map for aggregates of the same type and identifier' do
34
34
  aggregate_a = TestAggregateA.new 1
35
35
  aggregate_b = TestAggregateB.new 2
36
36
  aggregate_c = TestAggregateB.new 3
@@ -45,7 +45,7 @@ module Synapse
45
45
  assert_same aggregate_c, @uow.register_aggregate(aggregate_d, event_bus, storage_listener)
46
46
  end
47
47
 
48
- def test_tx_bound_uow_lifecycle
48
+ should 'interact with a transaction manager on commit' do
49
49
  listener = UnitOfWorkListener.new
50
50
 
51
51
  tx = Object.new
@@ -68,7 +68,7 @@ module Synapse
68
68
  @uow.commit
69
69
  end
70
70
 
71
- def test_tx_bound_uow_rollback_lifecycle
71
+ should 'interact with a transaction manager on rollback' do
72
72
  listener = UnitOfWorkListener.new
73
73
 
74
74
  tx = Object.new
@@ -89,7 +89,7 @@ module Synapse
89
89
  @uow.rollback
90
90
  end
91
91
 
92
- def test_uow_registers_listener_with_parent
92
+ should 'register a listener with the current unit of work if it is unaware of nesting' do
93
93
  outer_unit = Object.new
94
94
  mock(outer_unit).register_listener(is_a(OuterCommitUnitOfWorkListener))
95
95
  mock(outer_unit).rollback
@@ -104,7 +104,7 @@ module Synapse
104
104
  @provider.clear outer_unit
105
105
  end
106
106
 
107
- def test_inner_rolled_back_with_outer
107
+ should 'roll back inner units if the outer unit is rolled back' do
108
108
  outer_unit = create_uow
109
109
  inner_unit = create_uow
110
110
 
@@ -117,7 +117,7 @@ module Synapse
117
117
  outer_unit.rollback
118
118
  end
119
119
 
120
- def test_inner_committed_with_outer
120
+ should 'commit inner units after the outer unit is committed' do
121
121
  outer_unit = create_uow
122
122
  inner_unit = create_uow
123
123
 
@@ -138,7 +138,7 @@ module Synapse
138
138
  assert committed, 'Inner unit should have been committed'
139
139
  end
140
140
 
141
- def test_unit_rollback_on_prepare_commit_error
141
+ should 'rollback if a listener raises an exception while preparing to commit' do
142
142
  cause = TestError.new
143
143
  listener = UnitOfWorkListener.new
144
144
 
@@ -157,7 +157,7 @@ module Synapse
157
157
  end
158
158
  end
159
159
 
160
- def test_unit_rollback_on_store_aggregate_error
160
+ should 'rollback if an aggregate storage listener raises an exception' do
161
161
  aggregate_root = Object.new
162
162
  mock(aggregate_root).add_registration_listener
163
163
  mock(aggregate_root).id
@@ -185,7 +185,7 @@ module Synapse
185
185
  end
186
186
  end
187
187
 
188
- def test_unit_rollback_on_publish_error
188
+ should 'rollback if the event bus raises an exception when publishing events' do
189
189
  cause = TestError.new
190
190
  event = Object.new
191
191
 
@@ -209,7 +209,7 @@ module Synapse
209
209
  end
210
210
  end
211
211
 
212
- def test_inner_cleanup_delayed_until_outer_cleanup_inner_commit
212
+ should 'delay cleanup of inner unit after commit until outer unit is committed' do
213
213
  outer_listener = UnitOfWorkListener.new
214
214
  inner_listener = UnitOfWorkListener.new
215
215
 
@@ -228,7 +228,7 @@ module Synapse
228
228
  outer_unit.commit
229
229
  end
230
230
 
231
- def test_inner_cleanup_delayed_until_outer_cleanup_inner_rollback
231
+ should 'delay cleanup of inner unit after rollback until outer unit is committed' do
232
232
  outer_listener = UnitOfWorkListener.new
233
233
  inner_listener = UnitOfWorkListener.new
234
234
 
@@ -247,7 +247,7 @@ module Synapse
247
247
  outer_unit.commit
248
248
  end
249
249
 
250
- def test_inner_cleanup_delayed_until_outer_cleanup_inner_commit_outer_rollback
250
+ should 'delay cleanup of inner unit after commit until outer unit is rolled back' do
251
251
  outer_listener = UnitOfWorkListener.new
252
252
  inner_listener = UnitOfWorkListener.new
253
253
 
@@ -267,7 +267,7 @@ module Synapse
267
267
  outer_unit.rollback
268
268
  end
269
269
 
270
- def test_set_txm_throws_if_started
270
+ should 'raise an exception if a transaction manager is set after the unit has been started' do
271
271
  @uow.start
272
272
 
273
273
  assert_raises RuntimeError do
@@ -277,7 +277,7 @@ module Synapse
277
277
  @uow.commit
278
278
  end
279
279
 
280
- def test_provider_not_changed_if_start_fails
280
+ should 'not put the unit of work provider into a bad state if the unit of work fails during start' do
281
281
  txm = Object.new
282
282
  mock(txm).start {
283
283
  raise 'Something bad happened'
@@ -292,7 +292,7 @@ module Synapse
292
292
  refute @provider.started?
293
293
  end
294
294
 
295
- def test_events_continually_publish
295
+ should 'continually publish events as events are published' do
296
296
  @uow.start
297
297
 
298
298
  event_bus = EventBus::SimpleEventBus.new
@@ -312,6 +312,8 @@ module Synapse
312
312
  @uow.commit
313
313
  end
314
314
 
315
+ private
316
+
315
317
  def create_uow
316
318
  uow = UnitOfWork.new @provider
317
319
  uow.start
@@ -5,7 +5,7 @@ module Synapse
5
5
  module Upcasting
6
6
  class UpcasterChainTest < Test::Unit::TestCase
7
7
 
8
- def test_multiple_upcasters
8
+ should 'support multiple upcasters' do
9
9
  factory = Serialization::ConverterFactory.new
10
10
 
11
11
  chain = UpcasterChain.new factory
@@ -4,7 +4,8 @@ require 'ostruct'
4
4
  module Synapse
5
5
  module Upcasting
6
6
  class UpcastSerializedDomainEventDataTest < Test::Unit::TestCase
7
- def test_delegation
7
+
8
+ should 'delegate properties correctly' do
8
9
  delegate = OpenStruct.new
9
10
  delegate.id = SecureRandom.uuid
10
11
  delegate.metadata = Object.new
@@ -26,6 +27,7 @@ module Synapse
26
27
  assert_same aggregate_id, upcast.aggregate_id
27
28
  assert_same delegate.sequence_number, upcast.sequence_number
28
29
  end
30
+
29
31
  end
30
32
  end
31
33
  end
metadata CHANGED
@@ -1,20 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: synapse-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
5
- prerelease:
4
+ version: 0.5.2
6
5
  platform: ruby
7
6
  authors:
8
7
  - Ian Unruh
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-05-31 00:00:00.000000000 Z
11
+ date: 2013-06-03 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: activesupport
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ~>
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ~>
28
25
  - !ruby/object:Gem::Version
@@ -30,7 +27,6 @@ dependencies:
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: atomic
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
31
  - - ~>
36
32
  - !ruby/object:Gem::Version
@@ -38,7 +34,6 @@ dependencies:
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
38
  - - ~>
44
39
  - !ruby/object:Gem::Version
@@ -46,7 +41,6 @@ dependencies:
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: logging
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
45
  - - ~>
52
46
  - !ruby/object:Gem::Version
@@ -54,7 +48,6 @@ dependencies:
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
52
  - - ~>
60
53
  - !ruby/object:Gem::Version
@@ -62,17 +55,15 @@ dependencies:
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: thread
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
- - - ! '>='
59
+ - - '>='
68
60
  - !ruby/object:Gem::Version
69
61
  version: '0'
70
62
  type: :runtime
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
- - - ! '>='
66
+ - - '>='
76
67
  - !ruby/object:Gem::Version
77
68
  version: '0'
78
69
  description: A versatile CQRS and event sourcing framework
@@ -100,7 +91,6 @@ files:
100
91
  - lib/synapse/command/message.rb
101
92
  - lib/synapse/command/async_command_bus.rb
102
93
  - lib/synapse/command/interceptor_chain.rb
103
- - lib/synapse/command/wiring.rb
104
94
  - lib/synapse/command/command_filter.rb
105
95
  - lib/synapse/command/gateway.rb
106
96
  - lib/synapse/command/errors.rb
@@ -109,6 +99,7 @@ files:
109
99
  - lib/synapse/command/filters/validation.rb
110
100
  - lib/synapse/command/command_handler.rb
111
101
  - lib/synapse/command/command_bus.rb
102
+ - lib/synapse/command/mapping.rb
112
103
  - lib/synapse/event_store.rb
113
104
  - lib/synapse/repository/lock_manager.rb
114
105
  - lib/synapse/repository/pessimistic_lock_manager.rb
@@ -121,8 +112,9 @@ files:
121
112
  - lib/synapse/event_sourcing/aggregate_factory.rb
122
113
  - lib/synapse/event_sourcing/stream_decorator.rb
123
114
  - lib/synapse/event_sourcing/entity.rb
124
- - lib/synapse/event_sourcing/snapshot/count_trigger.rb
125
- - lib/synapse/event_sourcing/snapshot/count_stream.rb
115
+ - lib/synapse/event_sourcing/snapshot/aggregate_taker.rb
116
+ - lib/synapse/event_sourcing/snapshot/policy.rb
117
+ - lib/synapse/event_sourcing/snapshot/unit_listener.rb
126
118
  - lib/synapse/event_sourcing/snapshot/taker.rb
127
119
  - lib/synapse/event_sourcing/storage_listener.rb
128
120
  - lib/synapse/event_sourcing/member.rb
@@ -147,7 +139,9 @@ files:
147
139
  - lib/synapse/configuration/component/command_bus/gateway.rb
148
140
  - lib/synapse/configuration/component/repository/simple_repository.rb
149
141
  - lib/synapse/configuration/component/repository/locking_repository.rb
142
+ - lib/synapse/configuration/component/event_sourcing/aggregate_snapshot_taker.rb
150
143
  - lib/synapse/configuration/component/event_sourcing/repository.rb
144
+ - lib/synapse/configuration/component/event_sourcing/interval_snapshot_policy.rb
151
145
  - lib/synapse/configuration/component/upcasting/upcaster_chain.rb
152
146
  - lib/synapse/configuration/component/upcasting.rb
153
147
  - lib/synapse/configuration/component/serialization.rb
@@ -160,6 +154,8 @@ files:
160
154
  - lib/synapse/configuration/component/event_bus.rb
161
155
  - lib/synapse/configuration/component/command_bus.rb
162
156
  - lib/synapse/configuration/container.rb
157
+ - lib/synapse/mapping/mapper.rb
158
+ - lib/synapse/mapping/mapping.rb
163
159
  - lib/synapse/process_manager/process_repository.rb
164
160
  - lib/synapse/process_manager/lock_manager.rb
165
161
  - lib/synapse/process_manager/correlation_set.rb
@@ -168,12 +164,12 @@ files:
168
164
  - lib/synapse/process_manager/repository/in_memory.rb
169
165
  - lib/synapse/process_manager/correlation_resolver.rb
170
166
  - lib/synapse/process_manager/process_manager.rb
167
+ - lib/synapse/process_manager/mapping/process_manager.rb
168
+ - lib/synapse/process_manager/mapping/process.rb
171
169
  - lib/synapse/process_manager/process_factory.rb
172
170
  - lib/synapse/process_manager/resource_injector.rb
173
171
  - lib/synapse/process_manager/simple_process_manager.rb
174
172
  - lib/synapse/process_manager/container_resource_injector.rb
175
- - lib/synapse/process_manager/wiring/process_manager.rb
176
- - lib/synapse/process_manager/wiring/process.rb
177
173
  - lib/synapse/process_manager/process.rb
178
174
  - lib/synapse/command.rb
179
175
  - lib/synapse/common.rb
@@ -181,7 +177,6 @@ files:
181
177
  - lib/synapse/event_store/event_store.rb
182
178
  - lib/synapse/event_store/errors.rb
183
179
  - lib/synapse/event_store/in_memory.rb
184
- - lib/synapse/wiring.rb
185
180
  - lib/synapse/configuration.rb
186
181
  - lib/synapse/auditing/audit_logger.rb
187
182
  - lib/synapse/auditing/data_provider.rb
@@ -199,13 +194,10 @@ files:
199
194
  - lib/synapse/common/message_builder.rb
200
195
  - lib/synapse/repository.rb
201
196
  - lib/synapse/event_bus/simple_event_bus.rb
202
- - lib/synapse/event_bus/wiring.rb
203
197
  - lib/synapse/event_bus/event_publisher.rb
204
198
  - lib/synapse/event_bus/event_listener.rb
205
199
  - lib/synapse/event_bus/event_bus.rb
206
- - lib/synapse/wiring/wire.rb
207
- - lib/synapse/wiring/message_wiring.rb
208
- - lib/synapse/wiring/wire_registry.rb
200
+ - lib/synapse/event_bus/mapping.rb
209
201
  - lib/synapse/domain/event_container.rb
210
202
  - lib/synapse/domain/message.rb
211
203
  - lib/synapse/domain/stream.rb
@@ -237,6 +229,7 @@ files:
237
229
  - lib/synapse/serialization/serialized_object.rb
238
230
  - lib/synapse/event_sourcing.rb
239
231
  - lib/synapse/event_bus.rb
232
+ - lib/synapse/mapping.rb
240
233
  - test/uow/factory_test.rb
241
234
  - test/uow/uow_test.rb
242
235
  - test/uow/outer_commit_listener_test.rb
@@ -248,10 +241,10 @@ files:
248
241
  - test/command/gateway/retrying_callback_test.rb
249
242
  - test/command/gateway/interval_retry_scheduler_test.rb
250
243
  - test/command/gateway_test.rb
251
- - test/command/wiring_test.rb
252
244
  - test/command/simple_command_bus_test.rb
253
245
  - test/command/async_command_bus_test.rb
254
246
  - test/command/serialization_test.rb
247
+ - test/command/mapping_test.rb
255
248
  - test/command/validation_test.rb
256
249
  - test/repository/simple_repository_test.rb
257
250
  - test/repository/pessimistic_test.rb
@@ -261,7 +254,7 @@ files:
261
254
  - test/event_sourcing/storage_listener_test.rb
262
255
  - test/event_sourcing/repository_test.rb
263
256
  - test/event_sourcing/aggregate_root_test.rb
264
- - test/event_sourcing/snapshot/integration_test.rb
257
+ - test/event_sourcing/snapshot/interval_policy_test.rb
265
258
  - test/event_sourcing/snapshot/aggregate_taker_test.rb
266
259
  - test/event_sourcing/entity_test.rb
267
260
  - test/event_sourcing/fixtures.rb
@@ -279,6 +272,9 @@ files:
279
272
  - test/configuration/component/uow/unit_factory_test.rb
280
273
  - test/configuration/component/command_bus/simple_command_bus_test.rb
281
274
  - test/configuration/component/command_bus/async_command_bus_test.rb
275
+ - test/configuration/component/repository/simple_repository_test.rb
276
+ - test/configuration/component/event_sourcing/repository_test.rb
277
+ - test/configuration/component/upcasting/upcaster_chain_test.rb
282
278
  - test/configuration/component/event_bus/simple_event_bus_test.rb
283
279
  - test/configuration/component/serialization/serializer_test.rb
284
280
  - test/configuration/component/serialization/converter_factory_test.rb
@@ -286,11 +282,11 @@ files:
286
282
  - test/process_manager/correlation_set_test.rb
287
283
  - test/process_manager/container_resource_injector_test.rb
288
284
  - test/process_manager/simple_process_manager_test.rb
285
+ - test/process_manager/mapping/process_test.rb
286
+ - test/process_manager/mapping/process_manager_test.rb
287
+ - test/process_manager/mapping/fixtures.rb
289
288
  - test/process_manager/correlation_test.rb
290
289
  - test/process_manager/process_factory_test.rb
291
- - test/process_manager/wiring/process_test.rb
292
- - test/process_manager/wiring/process_manager_test.rb
293
- - test/process_manager/wiring/fixtures.rb
294
290
  - test/process_manager/in_memory_test.rb
295
291
  - test/event_store/in_memory_test.rb
296
292
  - test/auditing/dispatch_interceptor_test.rb
@@ -301,9 +297,7 @@ files:
301
297
  - test/common/concurrency/identifier_lock_test.rb
302
298
  - test/common/concurrency/public_lock_test.rb
303
299
  - test/event_bus/publisher_test.rb
304
- - test/event_bus/wiring_test.rb
305
- - test/wiring/wire_registry_test.rb
306
- - test/wiring/wire_test.rb
300
+ - test/event_bus/mapping_test.rb
307
301
  - test/domain/stream_test.rb
308
302
  - test/domain/aggregate_root_test.rb
309
303
  - test/domain/message_test.rb
@@ -330,27 +324,26 @@ files:
330
324
  homepage: https://github.com/ianunruh/synapse
331
325
  licenses:
332
326
  - Apache 2.0
327
+ metadata: {}
333
328
  post_install_message:
334
329
  rdoc_options: []
335
330
  require_paths:
336
331
  - lib
337
332
  required_ruby_version: !ruby/object:Gem::Requirement
338
- none: false
339
333
  requirements:
340
- - - ! '>='
334
+ - - '>='
341
335
  - !ruby/object:Gem::Version
342
336
  version: '0'
343
337
  required_rubygems_version: !ruby/object:Gem::Requirement
344
- none: false
345
338
  requirements:
346
- - - ! '>='
339
+ - - '>='
347
340
  - !ruby/object:Gem::Version
348
341
  version: '0'
349
342
  requirements: []
350
343
  rubyforge_project:
351
- rubygems_version: 1.8.25
344
+ rubygems_version: 2.0.3
352
345
  signing_key:
353
- specification_version: 3
346
+ specification_version: 4
354
347
  summary: A versatile CQRS and event sourcing framework
355
348
  test_files: []
356
349
  has_rdoc: