synapse-core 0.1.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 (155) hide show
  1. data/lib/synapse.rb +351 -0
  2. data/lib/synapse/command/command_bus.rb +45 -0
  3. data/lib/synapse/command/command_callback.rb +18 -0
  4. data/lib/synapse/command/command_filter.rb +17 -0
  5. data/lib/synapse/command/command_handler.rb +13 -0
  6. data/lib/synapse/command/dispatch_interceptor.rb +16 -0
  7. data/lib/synapse/command/duplication.rb +43 -0
  8. data/lib/synapse/command/errors.rb +27 -0
  9. data/lib/synapse/command/filters/validation.rb +32 -0
  10. data/lib/synapse/command/gateway.rb +34 -0
  11. data/lib/synapse/command/interceptor_chain.rb +31 -0
  12. data/lib/synapse/command/interceptors/serialization.rb +35 -0
  13. data/lib/synapse/command/message.rb +19 -0
  14. data/lib/synapse/command/rollback_policy.rb +22 -0
  15. data/lib/synapse/command/simple_command_bus.rb +138 -0
  16. data/lib/synapse/command/wiring.rb +47 -0
  17. data/lib/synapse/domain/aggregate_root.rb +121 -0
  18. data/lib/synapse/domain/event_container.rb +127 -0
  19. data/lib/synapse/domain/message.rb +82 -0
  20. data/lib/synapse/domain/message_builder.rb +34 -0
  21. data/lib/synapse/domain/stream.rb +108 -0
  22. data/lib/synapse/duplication.rb +60 -0
  23. data/lib/synapse/errors.rb +13 -0
  24. data/lib/synapse/event_bus/event_bus.rb +40 -0
  25. data/lib/synapse/event_bus/event_listener.rb +16 -0
  26. data/lib/synapse/event_bus/event_listener_proxy.rb +12 -0
  27. data/lib/synapse/event_bus/simple_event_bus.rb +69 -0
  28. data/lib/synapse/event_bus/wiring.rb +23 -0
  29. data/lib/synapse/event_sourcing/aggregate_factory.rb +69 -0
  30. data/lib/synapse/event_sourcing/aggregate_root.rb +104 -0
  31. data/lib/synapse/event_sourcing/conflict_resolver.rb +80 -0
  32. data/lib/synapse/event_sourcing/entity.rb +64 -0
  33. data/lib/synapse/event_sourcing/member.rb +72 -0
  34. data/lib/synapse/event_sourcing/repository.rb +119 -0
  35. data/lib/synapse/event_sourcing/snapshot/count_stream.rb +86 -0
  36. data/lib/synapse/event_sourcing/snapshot/count_trigger.rb +91 -0
  37. data/lib/synapse/event_sourcing/snapshot/taker.rb +73 -0
  38. data/lib/synapse/event_sourcing/storage_listener.rb +34 -0
  39. data/lib/synapse/event_sourcing/stream_decorator.rb +25 -0
  40. data/lib/synapse/event_store/errors.rb +16 -0
  41. data/lib/synapse/event_store/event_store.rb +43 -0
  42. data/lib/synapse/event_store/in_memory.rb +59 -0
  43. data/lib/synapse/event_store/mongo/cursor_event_stream.rb +63 -0
  44. data/lib/synapse/event_store/mongo/event_store.rb +86 -0
  45. data/lib/synapse/event_store/mongo/per_commit_strategy.rb +253 -0
  46. data/lib/synapse/event_store/mongo/per_event_strategy.rb +143 -0
  47. data/lib/synapse/event_store/mongo/storage_strategy.rb +113 -0
  48. data/lib/synapse/event_store/mongo/template.rb +73 -0
  49. data/lib/synapse/identifier.rb +23 -0
  50. data/lib/synapse/message.rb +101 -0
  51. data/lib/synapse/message_builder.rb +38 -0
  52. data/lib/synapse/process_manager/correlation.rb +32 -0
  53. data/lib/synapse/process_manager/correlation_resolver.rb +14 -0
  54. data/lib/synapse/process_manager/correlation_set.rb +58 -0
  55. data/lib/synapse/process_manager/process.rb +71 -0
  56. data/lib/synapse/repository/errors.rb +26 -0
  57. data/lib/synapse/repository/lock_manager.rb +40 -0
  58. data/lib/synapse/repository/locking.rb +97 -0
  59. data/lib/synapse/repository/pessimistic_lock_manager.rb +61 -0
  60. data/lib/synapse/repository/repository.rb +109 -0
  61. data/lib/synapse/serialization/converter.rb +39 -0
  62. data/lib/synapse/serialization/converter/chain.rb +45 -0
  63. data/lib/synapse/serialization/converter/factory.rb +68 -0
  64. data/lib/synapse/serialization/converter/identity.rb +29 -0
  65. data/lib/synapse/serialization/converter/json.rb +31 -0
  66. data/lib/synapse/serialization/converter/ox.rb +31 -0
  67. data/lib/synapse/serialization/errors.rb +12 -0
  68. data/lib/synapse/serialization/lazy_object.rb +61 -0
  69. data/lib/synapse/serialization/message/data.rb +25 -0
  70. data/lib/synapse/serialization/message/metadata.rb +13 -0
  71. data/lib/synapse/serialization/message/serialization_aware.rb +17 -0
  72. data/lib/synapse/serialization/message/serialization_aware_message.rb +66 -0
  73. data/lib/synapse/serialization/message/serialized_message.rb +201 -0
  74. data/lib/synapse/serialization/message/serialized_message_builder.rb +64 -0
  75. data/lib/synapse/serialization/message/serialized_object_cache.rb +50 -0
  76. data/lib/synapse/serialization/message/serializer.rb +47 -0
  77. data/lib/synapse/serialization/revision_resolver.rb +30 -0
  78. data/lib/synapse/serialization/serialized_object.rb +37 -0
  79. data/lib/synapse/serialization/serialized_type.rb +31 -0
  80. data/lib/synapse/serialization/serializer.rb +98 -0
  81. data/lib/synapse/serialization/serializer/marshal.rb +32 -0
  82. data/lib/synapse/serialization/serializer/oj.rb +34 -0
  83. data/lib/synapse/serialization/serializer/ox.rb +31 -0
  84. data/lib/synapse/uow/factory.rb +28 -0
  85. data/lib/synapse/uow/listener.rb +79 -0
  86. data/lib/synapse/uow/listener_collection.rb +93 -0
  87. data/lib/synapse/uow/nesting.rb +262 -0
  88. data/lib/synapse/uow/provider.rb +71 -0
  89. data/lib/synapse/uow/storage_listener.rb +14 -0
  90. data/lib/synapse/uow/transaction_manager.rb +27 -0
  91. data/lib/synapse/uow/uow.rb +178 -0
  92. data/lib/synapse/upcasting/chain.rb +78 -0
  93. data/lib/synapse/upcasting/context.rb +58 -0
  94. data/lib/synapse/upcasting/data.rb +30 -0
  95. data/lib/synapse/upcasting/single_upcaster.rb +57 -0
  96. data/lib/synapse/upcasting/upcaster.rb +55 -0
  97. data/lib/synapse/version.rb +3 -0
  98. data/lib/synapse/wiring/message_wiring.rb +41 -0
  99. data/lib/synapse/wiring/wire.rb +55 -0
  100. data/lib/synapse/wiring/wire_registry.rb +61 -0
  101. data/test/command/duplication_test.rb +54 -0
  102. data/test/command/gateway_test.rb +25 -0
  103. data/test/command/interceptor_chain_test.rb +26 -0
  104. data/test/command/serialization_test.rb +37 -0
  105. data/test/command/simple_command_bus_test.rb +141 -0
  106. data/test/command/validation_test.rb +42 -0
  107. data/test/command/wiring_test.rb +73 -0
  108. data/test/domain/aggregate_root_test.rb +57 -0
  109. data/test/domain/fixtures.rb +31 -0
  110. data/test/domain/message_test.rb +61 -0
  111. data/test/domain/stream_test.rb +35 -0
  112. data/test/duplication_test.rb +40 -0
  113. data/test/event_bus/wiring_test.rb +46 -0
  114. data/test/event_sourcing/aggregate_factory_test.rb +28 -0
  115. data/test/event_sourcing/aggregate_root_test.rb +76 -0
  116. data/test/event_sourcing/entity_test.rb +34 -0
  117. data/test/event_sourcing/fixtures.rb +85 -0
  118. data/test/event_sourcing/repository_test.rb +102 -0
  119. data/test/event_sourcing/snapshot/aggregate_taker_test.rb +39 -0
  120. data/test/event_sourcing/snapshot/deferred_taker_test.rb +19 -0
  121. data/test/event_sourcing/snapshot/integration_test.rb +65 -0
  122. data/test/event_sourcing/storage_listener_test.rb +77 -0
  123. data/test/event_store/in_memory_test.rb +47 -0
  124. data/test/process_manager/correlation_set_test.rb +49 -0
  125. data/test/process_manager/correlation_test.rb +24 -0
  126. data/test/process_manager/process_test.rb +52 -0
  127. data/test/repository/locking_test.rb +101 -0
  128. data/test/serialization/converter/factory_test.rb +33 -0
  129. data/test/serialization/converter/identity_test.rb +17 -0
  130. data/test/serialization/converter/json_test.rb +31 -0
  131. data/test/serialization/converter/ox_test.rb +40 -0
  132. data/test/serialization/fixtures.rb +17 -0
  133. data/test/serialization/lazy_object_test.rb +32 -0
  134. data/test/serialization/message/metadata_test.rb +19 -0
  135. data/test/serialization/message/serialization_aware_message_test.rb +88 -0
  136. data/test/serialization/message/serialized_message_builder_test.rb +41 -0
  137. data/test/serialization/message/serialized_message_test.rb +140 -0
  138. data/test/serialization/message/serializer_test.rb +50 -0
  139. data/test/serialization/revision_resolver_test.rb +12 -0
  140. data/test/serialization/serialized_object_test.rb +36 -0
  141. data/test/serialization/serialized_type_test.rb +27 -0
  142. data/test/serialization/serializer/marshal_test.rb +22 -0
  143. data/test/serialization/serializer/oj_test.rb +24 -0
  144. data/test/serialization/serializer/ox_test.rb +36 -0
  145. data/test/serialization/serializer_test.rb +20 -0
  146. data/test/test_helper.rb +19 -0
  147. data/test/uow/factory_test.rb +23 -0
  148. data/test/uow/outer_commit_listener_test.rb +50 -0
  149. data/test/uow/provider_test.rb +70 -0
  150. data/test/uow/uow_test.rb +337 -0
  151. data/test/upcasting/chain_test.rb +29 -0
  152. data/test/upcasting/fixtures.rb +66 -0
  153. data/test/wiring/wire_registry_test.rb +60 -0
  154. data/test/wiring/wire_test.rb +51 -0
  155. metadata +263 -0
@@ -0,0 +1,29 @@
1
+ require 'test_helper'
2
+ require 'upcasting/fixtures'
3
+
4
+ module Synapse
5
+ module Upcasting
6
+ class UpcasterChainTest < Test::Unit::TestCase
7
+
8
+ def test_multiple_upcasters
9
+ factory = Serialization::ConverterFactory.new
10
+
11
+ chain = UpcasterChain.new factory
12
+ chain.push TestTypeUpcaster.new
13
+ chain.push TestSplitUpcaster.new
14
+ chain.push TestPhaseOutUpcaster.new
15
+ chain.converter_factory.register Serialization::JsonToObjectConverter.new
16
+
17
+ content = Hash.new
18
+
19
+ input = Serialization::SerializedObject.new(JSON.dump(content), String, Serialization::SerializedType.new('TestEvent', '1'))
20
+ output = chain.upcast(input, nil)
21
+
22
+ assert_equal 2, output.size
23
+ assert_equal 'FooEvent', output[0].type.name
24
+ assert_equal 'BarEvent', output[1].type.name
25
+ end
26
+
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,66 @@
1
+ module Synapse
2
+ module Upcasting
3
+ class TestSplitUpcaster
4
+ include Upcaster
5
+
6
+ expects_content_type Object
7
+
8
+ def can_upcast?(serialized_type)
9
+ serialized_type.name == 'TestEvent' and serialized_type.revision == '2'
10
+ end
11
+
12
+ def upcast(intermediate, expected_types, upcast_context)
13
+ upcast_objects = Array.new
14
+
15
+ expected_types.each do |type|
16
+ upcast_objects.push Serialization::SerializedObject.new(intermediate.content, Object, type)
17
+ end
18
+
19
+ upcast_objects
20
+ end
21
+
22
+ def upcast_type(serialized_type)
23
+ upcast_types = Array.new
24
+ upcast_types.push Serialization::SerializedType.new('FooEvent', '1')
25
+ upcast_types.push Serialization::SerializedType.new('BazEvent', '1')
26
+ upcast_types.push Serialization::SerializedType.new('BarEvent', '1')
27
+ upcast_types
28
+ end
29
+ end
30
+
31
+ class TestTypeUpcaster
32
+ include SingleUpcaster
33
+
34
+ expects_content_type Object
35
+
36
+ def can_upcast?(serialized_type)
37
+ serialized_type.name == 'TestEvent' and serialized_type.revision == '1'
38
+ end
39
+
40
+ protected
41
+
42
+ def perform_upcast(intermediate, upcast_context)
43
+ intermediate.content
44
+ end
45
+
46
+ def perform_upcast_type(serialized_type)
47
+ Serialization::SerializedType.new('TestEvent', '2')
48
+ end
49
+ end
50
+
51
+ class TestPhaseOutUpcaster
52
+ include SingleUpcaster
53
+
54
+ expects_content_type Object
55
+
56
+ def can_upcast?(serialized_type)
57
+ serialized_type.name == 'BazEvent' and serialized_type.revision == '1'
58
+ end
59
+
60
+ protected
61
+
62
+ def perform_upcast(intermediate, upcast_context); end
63
+ def perform_upcast_type(serialized_type); end
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,60 @@
1
+ require 'test_helper'
2
+
3
+ module Synapse
4
+ module Wiring
5
+
6
+ class WireRegistryTest < Test::Unit::TestCase
7
+ def test_duplicates
8
+ registry = WireRegistry.new false
9
+
10
+ registry.register Wire.new Object, :test
11
+ registry.register Wire.new Integer, :test
12
+
13
+ assert_raise DuplicateWireError do
14
+ registry.register Wire.new Object, :test
15
+ end
16
+ end
17
+
18
+ def test_each_type
19
+ registry = WireRegistry.new false
20
+
21
+ registry.register Wire.new Integer, :test
22
+ registry.register Wire.new Object, :test
23
+
24
+ types = Array.new
25
+ registry.each_type do |type|
26
+ types << type
27
+ end
28
+
29
+ assert_equal [Integer, Object], types
30
+ end
31
+
32
+ def test_wire_for
33
+ registry = WireRegistry.new false
34
+
35
+ registry.register Wire.new Object, :test
36
+ registry.register Wire.new Integer, :test
37
+
38
+ wire = registry.wire_for Integer
39
+ assert_equal Integer, wire.type
40
+
41
+ wire = registry.wire_for BasicObject
42
+ assert_equal nil, wire
43
+ end
44
+
45
+ def test_wires_for
46
+ registry = WireRegistry.new false
47
+
48
+ registry.register Wire.new String, :test
49
+ registry.register Wire.new Object, :test
50
+ registry.register Wire.new Integer, :test
51
+
52
+ wires = registry.wires_for Integer
53
+
54
+ assert_equal Integer, wires[0].type
55
+ assert_equal Object, wires[1].type
56
+ end
57
+ end
58
+
59
+ end
60
+ end
@@ -0,0 +1,51 @@
1
+ require 'test_helper'
2
+
3
+ module Synapse
4
+ module Wiring
5
+
6
+ class WireTest < Test::Unit::TestCase
7
+ def test_invoke_method
8
+ payload = TestEvent.new
9
+
10
+ target = Object.new
11
+ mock(target).test(payload)
12
+
13
+ wire = Wire.new TestEvent, :test
14
+ wire.invoke target, payload
15
+ end
16
+
17
+ def test_invoke_block
18
+ payload = TestEvent.new
19
+
20
+ target_class = Class.new do
21
+ def initialize
22
+ @secret = 5
23
+ end
24
+ end
25
+ target = target_class.new
26
+
27
+ handler = proc do |command|
28
+ raise 'Oh noes' unless @secret == 5
29
+ end
30
+
31
+ wire = Wire.new TestEvent, handler
32
+ wire.invoke target, payload
33
+ end
34
+
35
+ def test_comparison_and_equality
36
+ wire_a = Wire.new TestEvent, :test
37
+ wire_b = Wire.new TestEvent, :test
38
+ wire_c = Wire.new TestSubEvent, :test
39
+
40
+ assert wire_a == wire_b
41
+ assert wire_b == wire_a
42
+ assert_equal wire_a <=> wire_c, 1
43
+ assert_equal wire_c <=> wire_a, -1
44
+ end
45
+ end
46
+
47
+ class TestEvent; end
48
+ class TestSubEvent < TestEvent; end
49
+
50
+ end
51
+ end
metadata ADDED
@@ -0,0 +1,263 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: synapse-core
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.2
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Ian Unruh
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-05-09 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: activesupport
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: atomic
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: eventmachine
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: logging
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ type: :runtime
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ description: A versatile CQRS and event sourcing framework
79
+ email: ianunruh@gmail.com
80
+ executables: []
81
+ extensions: []
82
+ extra_rdoc_files: []
83
+ files:
84
+ - lib/synapse.rb
85
+ - lib/synapse/uow/provider.rb
86
+ - lib/synapse/uow/transaction_manager.rb
87
+ - lib/synapse/uow/factory.rb
88
+ - lib/synapse/uow/uow.rb
89
+ - lib/synapse/uow/storage_listener.rb
90
+ - lib/synapse/uow/listener_collection.rb
91
+ - lib/synapse/uow/listener.rb
92
+ - lib/synapse/uow/nesting.rb
93
+ - lib/synapse/identifier.rb
94
+ - lib/synapse/command/rollback_policy.rb
95
+ - lib/synapse/command/interceptors/serialization.rb
96
+ - lib/synapse/command/duplication.rb
97
+ - lib/synapse/command/simple_command_bus.rb
98
+ - lib/synapse/command/message.rb
99
+ - lib/synapse/command/interceptor_chain.rb
100
+ - lib/synapse/command/wiring.rb
101
+ - lib/synapse/command/command_filter.rb
102
+ - lib/synapse/command/gateway.rb
103
+ - lib/synapse/command/errors.rb
104
+ - lib/synapse/command/command_callback.rb
105
+ - lib/synapse/command/dispatch_interceptor.rb
106
+ - lib/synapse/command/filters/validation.rb
107
+ - lib/synapse/command/command_handler.rb
108
+ - lib/synapse/command/command_bus.rb
109
+ - lib/synapse/repository/lock_manager.rb
110
+ - lib/synapse/repository/pessimistic_lock_manager.rb
111
+ - lib/synapse/repository/errors.rb
112
+ - lib/synapse/repository/locking.rb
113
+ - lib/synapse/repository/repository.rb
114
+ - lib/synapse/duplication.rb
115
+ - lib/synapse/event_sourcing/aggregate_factory.rb
116
+ - lib/synapse/event_sourcing/stream_decorator.rb
117
+ - lib/synapse/event_sourcing/entity.rb
118
+ - lib/synapse/event_sourcing/snapshot/count_trigger.rb
119
+ - lib/synapse/event_sourcing/snapshot/count_stream.rb
120
+ - lib/synapse/event_sourcing/snapshot/taker.rb
121
+ - lib/synapse/event_sourcing/storage_listener.rb
122
+ - lib/synapse/event_sourcing/member.rb
123
+ - lib/synapse/event_sourcing/repository.rb
124
+ - lib/synapse/event_sourcing/aggregate_root.rb
125
+ - lib/synapse/event_sourcing/conflict_resolver.rb
126
+ - lib/synapse/upcasting/upcaster.rb
127
+ - lib/synapse/upcasting/chain.rb
128
+ - lib/synapse/upcasting/data.rb
129
+ - lib/synapse/upcasting/single_upcaster.rb
130
+ - lib/synapse/upcasting/context.rb
131
+ - lib/synapse/version.rb
132
+ - lib/synapse/message.rb
133
+ - lib/synapse/process_manager/correlation_set.rb
134
+ - lib/synapse/process_manager/correlation.rb
135
+ - lib/synapse/process_manager/correlation_resolver.rb
136
+ - lib/synapse/process_manager/process.rb
137
+ - lib/synapse/event_store/mongo/cursor_event_stream.rb
138
+ - lib/synapse/event_store/mongo/event_store.rb
139
+ - lib/synapse/event_store/mongo/storage_strategy.rb
140
+ - lib/synapse/event_store/mongo/template.rb
141
+ - lib/synapse/event_store/mongo/per_commit_strategy.rb
142
+ - lib/synapse/event_store/mongo/per_event_strategy.rb
143
+ - lib/synapse/event_store/event_store.rb
144
+ - lib/synapse/event_store/errors.rb
145
+ - lib/synapse/event_store/in_memory.rb
146
+ - lib/synapse/errors.rb
147
+ - lib/synapse/message_builder.rb
148
+ - lib/synapse/event_bus/simple_event_bus.rb
149
+ - lib/synapse/event_bus/wiring.rb
150
+ - lib/synapse/event_bus/event_listener_proxy.rb
151
+ - lib/synapse/event_bus/event_listener.rb
152
+ - lib/synapse/event_bus/event_bus.rb
153
+ - lib/synapse/wiring/wire.rb
154
+ - lib/synapse/wiring/message_wiring.rb
155
+ - lib/synapse/wiring/wire_registry.rb
156
+ - lib/synapse/domain/event_container.rb
157
+ - lib/synapse/domain/message.rb
158
+ - lib/synapse/domain/stream.rb
159
+ - lib/synapse/domain/message_builder.rb
160
+ - lib/synapse/domain/aggregate_root.rb
161
+ - lib/synapse/serialization/lazy_object.rb
162
+ - lib/synapse/serialization/revision_resolver.rb
163
+ - lib/synapse/serialization/message/serialization_aware.rb
164
+ - lib/synapse/serialization/message/metadata.rb
165
+ - lib/synapse/serialization/message/serialization_aware_message.rb
166
+ - lib/synapse/serialization/message/serialized_message.rb
167
+ - lib/synapse/serialization/message/data.rb
168
+ - lib/synapse/serialization/message/serialized_object_cache.rb
169
+ - lib/synapse/serialization/message/serialized_message_builder.rb
170
+ - lib/synapse/serialization/message/serializer.rb
171
+ - lib/synapse/serialization/serialized_type.rb
172
+ - lib/synapse/serialization/converter/ox.rb
173
+ - lib/synapse/serialization/converter/chain.rb
174
+ - lib/synapse/serialization/converter/factory.rb
175
+ - lib/synapse/serialization/converter/json.rb
176
+ - lib/synapse/serialization/converter/identity.rb
177
+ - lib/synapse/serialization/serializer/ox.rb
178
+ - lib/synapse/serialization/serializer/oj.rb
179
+ - lib/synapse/serialization/serializer/marshal.rb
180
+ - lib/synapse/serialization/errors.rb
181
+ - lib/synapse/serialization/serializer.rb
182
+ - lib/synapse/serialization/converter.rb
183
+ - lib/synapse/serialization/serialized_object.rb
184
+ - test/duplication_test.rb
185
+ - test/uow/factory_test.rb
186
+ - test/uow/uow_test.rb
187
+ - test/uow/outer_commit_listener_test.rb
188
+ - test/uow/provider_test.rb
189
+ - test/command/duplication_test.rb
190
+ - test/command/interceptor_chain_test.rb
191
+ - test/command/gateway_test.rb
192
+ - test/command/wiring_test.rb
193
+ - test/command/simple_command_bus_test.rb
194
+ - test/command/serialization_test.rb
195
+ - test/command/validation_test.rb
196
+ - test/repository/locking_test.rb
197
+ - test/test_helper.rb
198
+ - test/event_sourcing/storage_listener_test.rb
199
+ - test/event_sourcing/repository_test.rb
200
+ - test/event_sourcing/aggregate_root_test.rb
201
+ - test/event_sourcing/snapshot/deferred_taker_test.rb
202
+ - test/event_sourcing/snapshot/integration_test.rb
203
+ - test/event_sourcing/snapshot/aggregate_taker_test.rb
204
+ - test/event_sourcing/entity_test.rb
205
+ - test/event_sourcing/fixtures.rb
206
+ - test/event_sourcing/aggregate_factory_test.rb
207
+ - test/upcasting/fixtures.rb
208
+ - test/upcasting/chain_test.rb
209
+ - test/process_manager/process_test.rb
210
+ - test/process_manager/correlation_set_test.rb
211
+ - test/process_manager/correlation_test.rb
212
+ - test/event_store/in_memory_test.rb
213
+ - test/event_bus/wiring_test.rb
214
+ - test/wiring/wire_registry_test.rb
215
+ - test/wiring/wire_test.rb
216
+ - test/domain/stream_test.rb
217
+ - test/domain/aggregate_root_test.rb
218
+ - test/domain/message_test.rb
219
+ - test/domain/fixtures.rb
220
+ - test/serialization/message/metadata_test.rb
221
+ - test/serialization/message/serialization_aware_message_test.rb
222
+ - test/serialization/message/serializer_test.rb
223
+ - test/serialization/message/serialized_message_builder_test.rb
224
+ - test/serialization/message/serialized_message_test.rb
225
+ - test/serialization/converter/factory_test.rb
226
+ - test/serialization/converter/ox_test.rb
227
+ - test/serialization/converter/identity_test.rb
228
+ - test/serialization/converter/json_test.rb
229
+ - test/serialization/serializer_test.rb
230
+ - test/serialization/lazy_object_test.rb
231
+ - test/serialization/serializer/oj_test.rb
232
+ - test/serialization/serializer/ox_test.rb
233
+ - test/serialization/serializer/marshal_test.rb
234
+ - test/serialization/serialized_object_test.rb
235
+ - test/serialization/revision_resolver_test.rb
236
+ - test/serialization/fixtures.rb
237
+ - test/serialization/serialized_type_test.rb
238
+ homepage: https://github.com/iunruh/synapse
239
+ licenses: []
240
+ post_install_message:
241
+ rdoc_options: []
242
+ require_paths:
243
+ - lib
244
+ required_ruby_version: !ruby/object:Gem::Requirement
245
+ none: false
246
+ requirements:
247
+ - - ! '>='
248
+ - !ruby/object:Gem::Version
249
+ version: '0'
250
+ required_rubygems_version: !ruby/object:Gem::Requirement
251
+ none: false
252
+ requirements:
253
+ - - ! '>='
254
+ - !ruby/object:Gem::Version
255
+ version: '0'
256
+ requirements: []
257
+ rubyforge_project:
258
+ rubygems_version: 1.8.25
259
+ signing_key:
260
+ specification_version: 3
261
+ summary: A versatile CQRS and event sourcing framework
262
+ test_files: []
263
+ has_rdoc: