mantle 2.0.1 → 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +2 -0
- data/README.md +44 -0
- data/lib/mantle/testing.rb +25 -0
- data/lib/mantle/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d1a6192e5973b0002ffde6dd6de2d7514f8095c7
|
4
|
+
data.tar.gz: 9c89f6117196ac08da70d79f1a09db484fc4c2c1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b53c9dd836135be2dac641f522b2e59cdcc6496891d9c8b501efbb76cd571ca4d418accbe72c9e9985ca6114280b13d2b009f1167759a10cfd0b017fc604453f
|
7
|
+
data.tar.gz: aaa8b1e932ef8e00b0c56577a94bed9df9d4349f8f59c9a64cf9e735f1f7ddd43b7585ce9209965db8e07fe24e87cae2e9ae61aeb09a4ea0a926d29578a842d0
|
data/README.md
CHANGED
@@ -104,3 +104,47 @@ $ bin/sidekiq -q mantle -q default
|
|
104
104
|
|
105
105
|
It will NOT add the `default` queue to processing if there are other queues
|
106
106
|
enumerated using the `-q` option.
|
107
|
+
|
108
|
+
## Testing
|
109
|
+
|
110
|
+
Requiring this library causes messages to be appended to an in-memory array.
|
111
|
+
|
112
|
+
```Ruby
|
113
|
+
# test/test_helper.rb
|
114
|
+
require 'mantle/testing'
|
115
|
+
```
|
116
|
+
|
117
|
+
```Ruby
|
118
|
+
class OrderMessage
|
119
|
+
def perform(message:)
|
120
|
+
Mantle::Message.new("order:create").publish(message)
|
121
|
+
end
|
122
|
+
end
|
123
|
+
```
|
124
|
+
|
125
|
+
```Ruby
|
126
|
+
class OrderMessageTest < ActiveSupport::TestCase
|
127
|
+
test "sends a mantle message on created order" do
|
128
|
+
OrderMessage.new.perform(mantle_message)
|
129
|
+
assert_equal 1, Mantle.messages.size
|
130
|
+
|
131
|
+
msg = Mantle.messages.first
|
132
|
+
assert_equal "order:create", msg.channel
|
133
|
+
assert_equal mantle_message, msg.message
|
134
|
+
end
|
135
|
+
|
136
|
+
private
|
137
|
+
|
138
|
+
def mantle_message
|
139
|
+
{ id: 5 }
|
140
|
+
end
|
141
|
+
end
|
142
|
+
```
|
143
|
+
|
144
|
+
Be sure to clear out messages so they don't build up during the test suite:
|
145
|
+
|
146
|
+
```Ruby
|
147
|
+
def teardown
|
148
|
+
Mantle.clear_all
|
149
|
+
end
|
150
|
+
```
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'mantle'
|
2
|
+
|
3
|
+
module Mantle
|
4
|
+
class << self
|
5
|
+
def messages
|
6
|
+
@messages ||= []
|
7
|
+
end
|
8
|
+
|
9
|
+
def clear_all
|
10
|
+
@messages = []
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
TestMessage = Struct.new(:channel, :message)
|
15
|
+
|
16
|
+
class Message
|
17
|
+
def initialize(channel)
|
18
|
+
@channel = channel
|
19
|
+
end
|
20
|
+
|
21
|
+
def publish(message)
|
22
|
+
Mantle.messages << TestMessage.new(channel, message)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
data/lib/mantle/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mantle
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0
|
4
|
+
version: 2.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Grant Ammons
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-06-
|
12
|
+
date: 2015-06-26 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: redis
|
@@ -101,6 +101,7 @@ files:
|
|
101
101
|
- lib/mantle/message_handlers.rb
|
102
102
|
- lib/mantle/message_router.rb
|
103
103
|
- lib/mantle/railtie.rb
|
104
|
+
- lib/mantle/testing.rb
|
104
105
|
- lib/mantle/version.rb
|
105
106
|
- lib/mantle/workers/catch_up_cleanup_worker.rb
|
106
107
|
- lib/mantle/workers/message_handler_worker.rb
|