chickadee 1.1.3 → 2.0.0

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: 6454dba340dc5b38f51086c1156a2476c0eb1d43
4
- data.tar.gz: 6f38fb7fb6819284b47d1331a172470dc47654a5
3
+ metadata.gz: 944c2383c13fa3a2189cff7c067510996b817ca4
4
+ data.tar.gz: 3118a4d81f007d03b537d7e9ec066ed03f65e6cd
5
5
  SHA512:
6
- metadata.gz: bb440f384f0151d7fc2f9e75d707d70a85db83a981330e536458cad7cf3b19bfcf6c698fcff5e9070704566ea844921bf9b52a13a4be967dd9fcbbaf811f7cc5
7
- data.tar.gz: da8297ba59d695926bcfe2b518f9f6bdcade6ab80025856e313471190b5627ab25fb012b96b81a4638d0df59458893a82ab3854abc22feaaa4d349648601e049
6
+ metadata.gz: 008659b0df9454eed991171ec0d6d92e1475c0fe961d7b8b0f2026f5812dbb9c5f90507cd782415451d3f55a5282a95fbf83b3b1c630eadf03477482e8b1ef42
7
+ data.tar.gz: 30594d643d70eb744a9b32a2e7db927be221f984f0b14edfe04180d80e96c71be2a5461cd290ea074e7621a47260aefb2fc0d02d71753ab5392edde71499f1e4
data/chickadee.gemspec CHANGED
@@ -23,4 +23,5 @@ Gem::Specification.new do |spec|
23
23
  spec.add_development_dependency "bundler", "~> 1.3"
24
24
  spec.add_development_dependency "rake"
25
25
  spec.add_development_dependency "mocha", "~> 0.14.0"
26
+ spec.add_development_dependency "guard-minitest", "~> 2.2.0"
26
27
  end
@@ -9,54 +9,28 @@ module Chickadee
9
9
 
10
10
  def initialize
11
11
  @container = Container.new
12
- @command_dispatcher = CommandDispatcher.new(@container)
13
- @query_dispatcher = QueryDispatcher.new(@container)
14
- @event_dispatcher = EventDispatcher.new(@container)
15
- @container.register(:event_dispatcher, @event_dispatcher, :as => :instance)
12
+ @request_dispatcher = RequestDispatcher.new(@container)
13
+ @container.register(:event_dispatcher, @request_dispatcher.event_dispatcher, :as => :instance)
16
14
  end
17
15
 
18
16
  def register(*args)
19
17
  @container.register(*args)
20
18
  end
21
19
 
22
- def map(request_class, *handlers)
23
- return map_command(request_class, *handlers) if request_class.type.command?
24
- return map_query(request_class, *handlers) if request_class.type.query?
25
- return map_event(request_class, *handlers) if request_class.type.event?
26
- raise(DispatcherError, "Unrecognized request type: #{request_class}")
20
+ def command(request_class, *handlers)
21
+ @request_dispatcher.map(:command, request_class, *handlers)
27
22
  end
28
23
 
29
- def dispatch(request)
30
- return dispatch_command(request) if request.class.type.command?
31
- return dispatch_query(request) if request.class.type.query?
32
- return dispatch_event(request) if request.class.type.event?
33
- raise(DispatcherError, "Unrecognized request type: #{request.class}")
34
- end
35
-
36
- private
37
-
38
- def map_command(*args)
39
- @command_dispatcher.map(*args)
40
- end
41
-
42
- def map_query(*args)
43
- @query_dispatcher.map(*args)
24
+ def event(request_class, *handlers)
25
+ @request_dispatcher.map(:event, request_class, *handlers)
44
26
  end
45
27
 
46
- def map_event(*args)
47
- @event_dispatcher.map(*args)
28
+ def query(request_class, *handlers)
29
+ @request_dispatcher.map(:query, request_class, *handlers)
48
30
  end
49
31
 
50
- def dispatch_command(*args)
51
- @command_dispatcher.dispatch(*args)
52
- end
53
-
54
- def dispatch_query(*args)
55
- @query_dispatcher.dispatch(*args)
56
- end
57
-
58
- def dispatch_event(*args)
59
- @event_dispatcher.dispatch(*args)
32
+ def dispatch(request)
33
+ @request_dispatcher.dispatch(request)
60
34
  end
61
35
  end
62
36
  end
@@ -0,0 +1,21 @@
1
+ module Chickadee
2
+ class AbstractDispatcher
3
+ def initialize(container)
4
+ @container = container
5
+ end
6
+
7
+ def map(request_key, *handlers)
8
+ raise(NotImplementedError)
9
+ end
10
+
11
+ def dispatch(request)
12
+ raise(NotImplementedError)
13
+ end
14
+
15
+ private
16
+
17
+ def resolve_handler_chain(*handlers)
18
+ @container.resolve_anonymous(HandlerChainStruct.new(*handlers))
19
+ end
20
+ end
21
+ end
@@ -1,5 +1,5 @@
1
1
  module Chickadee
2
- class CommandDispatcher < RequestDispatcher
2
+ class CommandDispatcher < AbstractDispatcher
3
3
  def map(request_key, *handlers)
4
4
  raise(DispatcherError, "Command already mapped: #{request_key}") if bus.topic_exists?(request_key)
5
5
  bus.subscribe(request_key) {|req| resolve_handler_chain(*handlers).handle(req)}
@@ -1,5 +1,5 @@
1
1
  module Chickadee
2
- class EventDispatcher < RequestDispatcher
2
+ class EventDispatcher < AbstractDispatcher
3
3
  def map(request_key, *handlers)
4
4
  bus.subscribe(request_key) {|req| resolve_handler_chain(*handlers).handle(req)}
5
5
  end
@@ -1,5 +1,5 @@
1
1
  module Chickadee
2
- class QueryDispatcher < RequestDispatcher
2
+ class QueryDispatcher < AbstractDispatcher
3
3
  def map(request_key, *handlers)
4
4
  raise(DispatcherError, "Query already mapped: #{request_key}") if cache.key?(request_key)
5
5
  cache[request_key] = Proc.new{|req| resolve_handler_chain(*handlers).handle(req)}
@@ -1,21 +1,24 @@
1
1
  module Chickadee
2
2
  class RequestDispatcher
3
+
4
+ attr_reader :command_dispatcher, :query_dispatcher, :event_dispatcher
5
+
3
6
  def initialize(container)
4
- @container = container
7
+ @command_dispatcher = CommandDispatcher.new(container)
8
+ @query_dispatcher = QueryDispatcher.new(container)
9
+ @event_dispatcher = EventDispatcher.new(container)
10
+ @request_dispatcher_map = {}
5
11
  end
6
12
 
7
- def map(request_key, *handlers)
8
- raise(NotImplementedError)
13
+ def map(request_type, request_class, *handlers)
14
+ dispatcher = instance_variable_get("@#{request_type}_dispatcher")
15
+ @request_dispatcher_map[request_class] = dispatcher
16
+ dispatcher.map(request_class, *handlers)
9
17
  end
10
18
 
11
19
  def dispatch(request)
12
- raise(NotImplementedError)
13
- end
14
-
15
- private
16
-
17
- def resolve_handler_chain(*handlers)
18
- @container.resolve_anonymous(HandlerChainStruct.new(*handlers))
20
+ raise(DispatcherError, "Unrecognized request type: #{request.class}") unless @request_dispatcher_map.key?(request.class)
21
+ @request_dispatcher_map[request.class].dispatch(request)
19
22
  end
20
23
  end
21
24
  end
@@ -1,3 +1,3 @@
1
1
  module Chickadee
2
- VERSION = "1.1.3"
2
+ VERSION = "2.0.0"
3
3
  end
data/lib/chickadee.rb CHANGED
@@ -2,17 +2,13 @@ require 'ioc'
2
2
  require 'chickadee/version'
3
3
  require 'chickadee/exceptions'
4
4
  require 'chickadee/container'
5
- require 'chickadee/handler'
6
- require 'chickadee/requests/request_type'
7
- require 'chickadee/requests/command'
8
- require 'chickadee/requests/query'
9
- require 'chickadee/requests/event'
10
- require 'chickadee/dispatchers/handler_chain_struct'
11
- require 'chickadee/dispatchers/message_bus'
12
- require 'chickadee/dispatchers/request_dispatcher'
5
+ require 'chickadee/handler_chain_struct'
6
+ require 'chickadee/message_bus'
7
+ require 'chickadee/dispatchers/abstract_dispatcher'
13
8
  require 'chickadee/dispatchers/event_dispatcher'
14
9
  require 'chickadee/dispatchers/command_dispatcher'
15
10
  require 'chickadee/dispatchers/query_dispatcher'
11
+ require 'chickadee/dispatchers/request_dispatcher'
16
12
  require 'chickadee/dispatcher'
17
13
 
18
14
  module Chickadee
@@ -4,11 +4,12 @@ require 'chickadee'
4
4
  describe Chickadee::Dispatcher do
5
5
  it 'can dispatch a command' do
6
6
  handler = stub(:handle => 'handler response')
7
- command = Chickadee::Command.new
7
+ command_class = Class.new
8
+ command = command_class.new
8
9
  dispatcher = new_dispatcher
9
10
 
10
11
  dispatcher.register(:handler, handler, :as => :instance)
11
- dispatcher.map(Chickadee::Command, :handler)
12
+ dispatcher.command(command_class, :handler)
12
13
 
13
14
  handler.expects(:handle).once
14
15
  dispatcher.dispatch(command).must_be_nil
@@ -16,21 +17,23 @@ describe Chickadee::Dispatcher do
16
17
 
17
18
  it 'can dispatch a query' do
18
19
  handler = stub(:handle => 'handler response')
19
- query = Chickadee::Query.new
20
+ query_class = Class.new
21
+ query = query_class.new
20
22
  dispatcher = new_dispatcher
21
23
 
22
24
  dispatcher.register(:handler, handler, :as => :instance)
23
- dispatcher.map(Chickadee::Query, :handler)
25
+ dispatcher.query(query_class, :handler)
24
26
  dispatcher.dispatch(query).must_equal('handler response')
25
27
  end
26
28
 
27
29
  it 'can dispatch an event' do
28
30
  handler = stub(:handle => 'handler response')
29
- event = Chickadee::Event.new
31
+ event_class = Class.new
32
+ event = event_class.new
30
33
  dispatcher = new_dispatcher
31
34
 
32
35
  dispatcher.register(:handler, handler, :as => :instance)
33
- dispatcher.map(Chickadee::Event, :handler)
36
+ dispatcher.event(event_class, :handler)
34
37
 
35
38
  handler.expects(:handle).once
36
39
  dispatcher.dispatch(event).must_be_nil
@@ -5,14 +5,15 @@ describe Chickadee::CommandDispatcher do
5
5
  it 'can map handler chain to request' do
6
6
  container = define_container
7
7
  dispatcher = define_dispatcher(container)
8
- command = Chickadee::Command.new
8
+ command_class = Class.new
9
+ command = command_class.new
9
10
  handler1 = stub(:handle => 'handler1_response')
10
11
  handler2 = stub(:handle => 'handler2_response')
11
12
 
12
13
  container.register(:myhandler1, handler1, :as => :instance)
13
14
  container.register(:myhandler2, handler2, :as => :instance)
14
15
 
15
- dispatcher.map(Chickadee::Command, :myhandler1, :myhandler2)
16
+ dispatcher.map(command_class, :myhandler1, :myhandler2)
16
17
 
17
18
  handler1.expects(:handle).once
18
19
  handler2.expects(:handle).once
@@ -22,25 +23,26 @@ describe Chickadee::CommandDispatcher do
22
23
  it 'complains if same command mapped twice' do
23
24
  container = define_container
24
25
  dispatcher = define_dispatcher(container)
25
- command = Chickadee::Command.new
26
+ command_class = Class.new
27
+ command = command_class.new
26
28
 
27
- dispatcher.map(Chickadee::Command, stub)
28
- proc{ dispatcher.map(Chickadee::Command, stub) }.must_raise(Chickadee::DispatcherError)
29
+ dispatcher.map(command_class, stub)
30
+ proc{ dispatcher.map(command_class, stub) }.must_raise(Chickadee::DispatcherError)
29
31
  end
30
32
 
31
33
  it 'returns nothing' do
32
34
  container = define_container
33
35
  dispatcher = define_dispatcher(container)
34
- command = Chickadee::Command.new
36
+ command_class = Class.new
37
+ command = command_class.new
35
38
  handler1 = stub(:handle => 'handler1_response')
36
39
 
37
40
  container.register(:myhandler1, handler1, :as => :instance)
38
41
 
39
- dispatcher.map(Chickadee::Command, :myhandler1)
42
+ dispatcher.map(command_class, :myhandler1)
40
43
  dispatcher.dispatch(command).must_be_nil
41
44
  end
42
45
 
43
-
44
46
  def define_container
45
47
  Chickadee::Container.new
46
48
  end
@@ -48,8 +50,4 @@ describe Chickadee::CommandDispatcher do
48
50
  def define_dispatcher(*args)
49
51
  Chickadee::CommandDispatcher.new(*args)
50
52
  end
51
-
52
- def define_command
53
- Chickadee::Command.new
54
- end
55
53
  end
@@ -5,14 +5,16 @@ describe Chickadee::EventDispatcher do
5
5
  it 'can map handler chain to request' do
6
6
  container = define_container
7
7
  dispatcher = define_dispatcher(container)
8
- event = Chickadee::Event.new
8
+ event_class = Class.new
9
+ event = event_class.new
10
+
9
11
  handler1 = stub(:handle => 'handler1_response')
10
12
  handler2 = stub(:handle => 'handler2_response')
11
13
 
12
14
  container.register(:myhandler1, handler1, :as => :instance)
13
15
  container.register(:myhandler2, handler2, :as => :instance)
14
16
 
15
- dispatcher.map(Chickadee::Event, :myhandler1, :myhandler2)
17
+ dispatcher.map(event_class, :myhandler1, :myhandler2)
16
18
 
17
19
  handler1.expects(:handle).once
18
20
  handler2.expects(:handle).once
@@ -22,7 +24,8 @@ describe Chickadee::EventDispatcher do
22
24
  it 'can map multiple handler chains to request' do
23
25
  container = define_container
24
26
  dispatcher = define_dispatcher(container)
25
- event = Chickadee::Event.new
27
+ event_class = Class.new
28
+ event = event_class.new
26
29
  handler1 = stub(:handle => 'handler1_response')
27
30
  handler2 = stub(:handle => 'handler2_response')
28
31
  handler3 = stub(:handle => 'handler3_response')
@@ -33,8 +36,8 @@ describe Chickadee::EventDispatcher do
33
36
  container.register(:myhandler3, handler3, :as => :instance)
34
37
  container.register(:myhandler4, handler4, :as => :instance)
35
38
 
36
- dispatcher.map(Chickadee::Event, :myhandler1, :myhandler2)
37
- dispatcher.map(Chickadee::Event, :myhandler3, :myhandler4)
39
+ dispatcher.map(event_class, :myhandler1, :myhandler2)
40
+ dispatcher.map(event_class, :myhandler3, :myhandler4)
38
41
 
39
42
  handler1.expects(:handle).once
40
43
  handler2.expects(:handle).once
@@ -46,12 +49,13 @@ describe Chickadee::EventDispatcher do
46
49
  it 'returns nothing' do
47
50
  container = define_container
48
51
  dispatcher = define_dispatcher(container)
49
- event = Chickadee::Event.new
52
+ event_class = Class.new
53
+ event = event_class.new
50
54
  handler1 = stub(:handle => 'handler1_response')
51
55
 
52
56
  container.register(:myhandler1, handler1, :as => :instance)
53
57
 
54
- dispatcher.map(Chickadee::Event, :myhandler1)
58
+ dispatcher.map(event_class, :myhandler1)
55
59
  dispatcher.dispatch(event).must_be_nil
56
60
  end
57
61
 
@@ -63,8 +67,4 @@ describe Chickadee::EventDispatcher do
63
67
  def define_dispatcher(*args)
64
68
  Chickadee::EventDispatcher.new(*args)
65
69
  end
66
-
67
- def define_event
68
- Chickadee::Event.new
69
- end
70
70
  end
@@ -5,14 +5,15 @@ describe Chickadee::QueryDispatcher do
5
5
  it 'can map handler chain to request' do
6
6
  container = define_container
7
7
  dispatcher = define_dispatcher(container)
8
- query = Chickadee::Query.new
8
+ query_class = Class.new
9
+ query = query_class.new
9
10
  handler1 = stub(:handle => 'handler1_response')
10
11
  handler2 = stub(:handle => 'handler2_response')
11
12
 
12
13
  container.register(:myhandler1, handler1, :as => :instance)
13
14
  container.register(:myhandler2, handler2, :as => :instance)
14
15
 
15
- dispatcher.map(Chickadee::Query, :myhandler1, :myhandler2)
16
+ dispatcher.map(query_class, :myhandler1, :myhandler2)
16
17
 
17
18
  handler1.expects(:handle).once
18
19
  handler2.expects(:handle).once
@@ -22,23 +23,25 @@ describe Chickadee::QueryDispatcher do
22
23
  it 'complains if same query mapped twice' do
23
24
  container = define_container
24
25
  dispatcher = define_dispatcher(container)
25
- query = Chickadee::Query.new
26
+ query_class = Class.new
27
+ query = query_class.new
26
28
 
27
- dispatcher.map(Chickadee::Query, stub)
28
- proc{ dispatcher.map(Chickadee::Query, stub) }.must_raise(Chickadee::DispatcherError)
29
+ dispatcher.map(query_class, stub)
30
+ proc{ dispatcher.map(query_class, stub) }.must_raise(Chickadee::DispatcherError)
29
31
  end
30
32
 
31
33
  it 'returns output from last handler in chain' do
32
34
  container = define_container
33
35
  dispatcher = define_dispatcher(container)
34
- query = Chickadee::Query.new
36
+ query_class = Class.new
37
+ query = query_class.new
35
38
  handler1 = stub(:handle => 'handler1_response')
36
39
  handler2 = stub(:handle => 'handler2_response')
37
40
 
38
41
  container.register(:myhandler1, handler1, :as => :instance)
39
42
  container.register(:myhandler2, handler2, :as => :instance)
40
43
 
41
- dispatcher.map(Chickadee::Query, :myhandler1, :myhandler2)
44
+ dispatcher.map(query_class, :myhandler1, :myhandler2)
42
45
  dispatcher.dispatch(query).must_equal('handler2_response')
43
46
  end
44
47
 
@@ -50,8 +53,4 @@ describe Chickadee::QueryDispatcher do
50
53
  def define_dispatcher(*args)
51
54
  Chickadee::QueryDispatcher.new(*args)
52
55
  end
53
-
54
- def define_query
55
- Chickadee::Query.new
56
- end
57
56
  end
metadata CHANGED
@@ -1,71 +1,85 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chickadee
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.3
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Erik Lott
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-02-14 00:00:00.000000000 Z
11
+ date: 2014-02-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ioc
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: 2.1.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: 2.1.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '1.3'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.3'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: mocha
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ~>
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
61
  version: 0.14.0
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ~>
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: 0.14.0
69
+ - !ruby/object:Gem::Dependency
70
+ name: guard-minitest
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 2.2.0
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 2.2.0
69
83
  description: Lightweight domain driven design library
70
84
  email:
71
85
  - erik.lott@evrium.com
@@ -73,7 +87,7 @@ executables: []
73
87
  extensions: []
74
88
  extra_rdoc_files: []
75
89
  files:
76
- - .gitignore
90
+ - ".gitignore"
77
91
  - Gemfile
78
92
  - Guardfile
79
93
  - LICENSE.txt
@@ -83,28 +97,21 @@ files:
83
97
  - lib/chickadee.rb
84
98
  - lib/chickadee/container.rb
85
99
  - lib/chickadee/dispatcher.rb
100
+ - lib/chickadee/dispatchers/abstract_dispatcher.rb
86
101
  - lib/chickadee/dispatchers/command_dispatcher.rb
87
102
  - lib/chickadee/dispatchers/event_dispatcher.rb
88
- - lib/chickadee/dispatchers/handler_chain_struct.rb
89
- - lib/chickadee/dispatchers/message_bus.rb
90
103
  - lib/chickadee/dispatchers/query_dispatcher.rb
91
104
  - lib/chickadee/dispatchers/request_dispatcher.rb
92
105
  - lib/chickadee/exceptions.rb
93
- - lib/chickadee/handler.rb
94
- - lib/chickadee/requests/command.rb
95
- - lib/chickadee/requests/event.rb
96
- - lib/chickadee/requests/query.rb
97
- - lib/chickadee/requests/request_type.rb
106
+ - lib/chickadee/handler_chain_struct.rb
107
+ - lib/chickadee/message_bus.rb
98
108
  - lib/chickadee/version.rb
99
109
  - spec/dispatcher_spec.rb
100
110
  - spec/dispatchers/command_dispatcher_spec.rb
101
111
  - spec/dispatchers/event_dispatcher_spec.rb
102
- - spec/dispatchers/handler_chain_struct_spec.rb
103
- - spec/dispatchers/message_bus_spec.rb
104
112
  - spec/dispatchers/query_dispatcher_spec.rb
105
- - spec/requests/command_spec.rb
106
- - spec/requests/event_spec.rb
107
- - spec/requests/query_spec.rb
113
+ - spec/handler_chain_struct_spec.rb
114
+ - spec/message_bus_spec.rb
108
115
  - spec/spec_helper.rb
109
116
  homepage: ''
110
117
  licenses:
@@ -116,17 +123,17 @@ require_paths:
116
123
  - lib
117
124
  required_ruby_version: !ruby/object:Gem::Requirement
118
125
  requirements:
119
- - - '>='
126
+ - - ">="
120
127
  - !ruby/object:Gem::Version
121
128
  version: '0'
122
129
  required_rubygems_version: !ruby/object:Gem::Requirement
123
130
  requirements:
124
- - - '>='
131
+ - - ">="
125
132
  - !ruby/object:Gem::Version
126
133
  version: '0'
127
134
  requirements: []
128
135
  rubyforge_project:
129
- rubygems_version: 2.0.7
136
+ rubygems_version: 2.2.2
130
137
  signing_key:
131
138
  specification_version: 4
132
139
  summary: Lightweight domain driven design library
@@ -134,10 +141,7 @@ test_files:
134
141
  - spec/dispatcher_spec.rb
135
142
  - spec/dispatchers/command_dispatcher_spec.rb
136
143
  - spec/dispatchers/event_dispatcher_spec.rb
137
- - spec/dispatchers/handler_chain_struct_spec.rb
138
- - spec/dispatchers/message_bus_spec.rb
139
144
  - spec/dispatchers/query_dispatcher_spec.rb
140
- - spec/requests/command_spec.rb
141
- - spec/requests/event_spec.rb
142
- - spec/requests/query_spec.rb
145
+ - spec/handler_chain_struct_spec.rb
146
+ - spec/message_bus_spec.rb
143
147
  - spec/spec_helper.rb
@@ -1,7 +0,0 @@
1
- module Chickadee
2
- class Handler
3
- def handle(request)
4
- raise(NotImplementedError)
5
- end
6
- end
7
- end
@@ -1,7 +0,0 @@
1
- module Chickadee
2
- class Command
3
- def self.type
4
- RequestType.new(:command)
5
- end
6
- end
7
- end
@@ -1,7 +0,0 @@
1
- module Chickadee
2
- class Event
3
- def self.type
4
- RequestType.new(:event)
5
- end
6
- end
7
- end
@@ -1,7 +0,0 @@
1
- module Chickadee
2
- class Query
3
- def self.type
4
- RequestType.new(:query)
5
- end
6
- end
7
- end
@@ -1,23 +0,0 @@
1
- module Chickadee
2
- class RequestType
3
- def initialize(type)
4
- @type = type
5
- end
6
-
7
- def query?
8
- @type == :query
9
- end
10
-
11
- def command?
12
- @type == :command
13
- end
14
-
15
- def event?
16
- @type == :event
17
- end
18
-
19
- def match?(t)
20
- t == @type
21
- end
22
- end
23
- end
@@ -1,9 +0,0 @@
1
- require 'spec_helper'
2
- require 'chickadee'
3
-
4
- describe Chickadee::Command do
5
- it { Chickadee::Command.type.query?.must_equal(false) }
6
- it { Chickadee::Command.type.command?.must_equal(true) }
7
- it { Chickadee::Command.type.event?.must_equal(false) }
8
- it { Chickadee::Command.type.match?(:command).must_equal(true) }
9
- end
@@ -1,9 +0,0 @@
1
- require 'spec_helper'
2
- require 'chickadee'
3
-
4
- describe Chickadee::Event do
5
- it { Chickadee::Event.type.query?.must_equal(false) }
6
- it { Chickadee::Event.type.command?.must_equal(false) }
7
- it { Chickadee::Event.type.event?.must_equal(true) }
8
- it { Chickadee::Event.type.match?(:event).must_equal(true) }
9
- end
@@ -1,9 +0,0 @@
1
- require 'spec_helper'
2
- require 'chickadee'
3
-
4
- describe Chickadee::Query do
5
- it { Chickadee::Query.type.query?.must_equal(true) }
6
- it { Chickadee::Query.type.command?.must_equal(false) }
7
- it { Chickadee::Query.type.event?.must_equal(false) }
8
- it { Chickadee::Query.type.match?(:query).must_equal(true) }
9
- end