mantle 2.0.1 → 2.1.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 +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
|