chickadee 1.1.3 → 2.0.0

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.
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