hermes_messenger_of_the_gods 2.1.0 → 2.3.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/.github/workflows/test.yml +41 -0
- data/.gitignore +1 -0
- data/.ruby-version +1 -1
- data/CHANGELOG.md +3 -0
- data/Gemfile +3 -2
- data/README.md +1 -1
- data/hermes_messenger_of_the_gods.gemspec +1 -1
- data/lib/hermes_messenger_of_the_gods/concerns/worker.rb +3 -0
- data/lib/hermes_messenger_of_the_gods/endpoints/sqs.rb +68 -24
- data/lib/hermes_messenger_of_the_gods/testing/array_endpoint.rb +5 -1
- data/lib/hermes_messenger_of_the_gods/version.rb +1 -1
- data/packageGems.sh +1 -1
- data/vendor/cache/activemodel-6.1.4.1.gem +0 -0
- data/vendor/cache/activesupport-6.1.4.1.gem +0 -0
- data/vendor/cache/addressable-2.8.0.gem +0 -0
- data/vendor/cache/aws-eventstream-1.2.0.gem +0 -0
- data/vendor/cache/aws-partitions-1.509.0.gem +0 -0
- data/vendor/cache/aws-sdk-core-3.121.1.gem +0 -0
- data/vendor/cache/aws-sdk-sns-1.45.0.gem +0 -0
- data/vendor/cache/aws-sdk-sqs-1.44.0.gem +0 -0
- data/vendor/cache/aws-sigv4-1.4.0.gem +0 -0
- data/vendor/cache/codeclimate-test-reporter-1.0.7.gem +0 -0
- data/vendor/cache/concurrent-ruby-1.1.9.gem +0 -0
- data/vendor/cache/coveralls_reborn-0.22.0.gem +0 -0
- data/vendor/cache/docile-1.4.0.gem +0 -0
- data/vendor/cache/google-protobuf-3.18.0-universal-darwin.gem +0 -0
- data/vendor/cache/google-protobuf-3.18.0-x86_64-linux.gem +0 -0
- data/vendor/cache/googleapis-common-protos-types-1.2.0.gem +0 -0
- data/vendor/cache/{grpc-1.35.0-universal-darwin.gem → grpc-1.40.0-universal-darwin.gem} +0 -0
- data/vendor/cache/{grpc-1.35.0-x86_64-linux.gem → grpc-1.40.0-x86_64-linux.gem} +0 -0
- data/vendor/cache/i18n-1.8.10.gem +0 -0
- data/vendor/cache/minitest-5.14.4.gem +0 -0
- data/vendor/cache/pry-0.14.1.gem +0 -0
- data/vendor/cache/rexml-3.2.5.gem +0 -0
- data/vendor/cache/rspec-mocks-3.10.2.gem +0 -0
- data/vendor/cache/rspec-support-3.10.2.gem +0 -0
- data/vendor/cache/simplecov-0.21.2.gem +0 -0
- data/vendor/cache/simplecov-html-0.12.3.gem +0 -0
- data/vendor/cache/simplecov-lcov-0.8.0.gem +0 -0
- data/vendor/cache/simplecov_json_formatter-0.1.3.gem +0 -0
- data/vendor/cache/sync-0.5.0.gem +0 -0
- data/vendor/cache/term-ansicolor-1.7.1.gem +0 -0
- data/vendor/cache/timecop-0.9.4.gem +0 -0
- data/vendor/cache/tins-1.29.1.gem +0 -0
- data/vendor/cache/webmock-3.14.0.gem +0 -0
- metadata +56 -50
- data/.drone.yml +0 -9
- data/vendor/cache/activemodel-6.1.1.gem +0 -0
- data/vendor/cache/activesupport-6.1.1.gem +0 -0
- data/vendor/cache/addressable-2.7.0.gem +0 -0
- data/vendor/cache/aws-eventstream-1.1.0.gem +0 -0
- data/vendor/cache/aws-partitions-1.417.0.gem +0 -0
- data/vendor/cache/aws-sdk-core-3.111.2.gem +0 -0
- data/vendor/cache/aws-sdk-sns-1.37.0.gem +0 -0
- data/vendor/cache/aws-sdk-sqs-1.35.0.gem +0 -0
- data/vendor/cache/aws-sigv4-1.2.2.gem +0 -0
- data/vendor/cache/codeclimate-test-reporter-1.0.9.gem +0 -0
- data/vendor/cache/concurrent-ruby-1.1.8.gem +0 -0
- data/vendor/cache/docile-1.1.5.gem +0 -0
- data/vendor/cache/google-protobuf-3.14.0-universal-darwin.gem +0 -0
- data/vendor/cache/google-protobuf-3.14.0-x86_64-linux.gem +0 -0
- data/vendor/cache/googleapis-common-protos-types-1.0.5.gem +0 -0
- data/vendor/cache/i18n-1.8.7.gem +0 -0
- data/vendor/cache/json-2.5.1.gem +0 -0
- data/vendor/cache/minitest-5.14.3.gem +0 -0
- data/vendor/cache/pry-0.13.1.gem +0 -0
- data/vendor/cache/rexml-3.2.4.gem +0 -0
- data/vendor/cache/rspec-mocks-3.10.1.gem +0 -0
- data/vendor/cache/rspec-support-3.10.1.gem +0 -0
- data/vendor/cache/simplecov-0.13.0.gem +0 -0
- data/vendor/cache/simplecov-html-0.10.2.gem +0 -0
- data/vendor/cache/timecop-0.9.2.gem +0 -0
- data/vendor/cache/webmock-3.11.1.gem +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f14fead382b4de9c274888ee9c417f5b7e500846e118b9e655af25b182164184
|
4
|
+
data.tar.gz: 47edc08f7f760c868ae6c2e2443d4f7138ce23c4b260ae9a288e2b1c5d73f4a4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: daf9a9781dae2a7243c5b98f06d4a929526c2430d29e52a328d5a94c045a7e016c59844dbf72eed9d773da91f396e0c51efc5d1af6d307b69f2d8940af36084e
|
7
|
+
data.tar.gz: 2e6e02d9a36ce06a0df77e7b732fafbb023cad0e3b0a33e107522b7d798ed9363e655e9c96da92c5a9af2f4961cfe460f33e6771a4bea671fa7998c9d1967801
|
@@ -0,0 +1,41 @@
|
|
1
|
+
name: Test
|
2
|
+
|
3
|
+
on: push
|
4
|
+
|
5
|
+
jobs:
|
6
|
+
ruby-test:
|
7
|
+
strategy:
|
8
|
+
fail-fast: false
|
9
|
+
matrix:
|
10
|
+
rubyimage: ["getterminus/ruby-docker-images:3.0-je-20210920", "getterminus/ruby-docker-images:2.7-je-20210920",]
|
11
|
+
runs-on: ubuntu-latest
|
12
|
+
container:
|
13
|
+
image: ${{ matrix.rubyimage }}
|
14
|
+
steps:
|
15
|
+
- name: Install SSH Key
|
16
|
+
uses: webfactory/ssh-agent@v0.5.2
|
17
|
+
with:
|
18
|
+
ssh-private-key: ${{ secrets.GH_ACTIONS_SSH_PRIVATE_KEY }}
|
19
|
+
|
20
|
+
- name: Pull
|
21
|
+
uses: actions/checkout@v2
|
22
|
+
with:
|
23
|
+
path: ${{ github.workspace }}/src/github.com/${{ github.repository }}
|
24
|
+
|
25
|
+
- name: Run Test
|
26
|
+
working-directory: ${{ github.workspace }}/src/github.com/${{ github.repository }}
|
27
|
+
run: >
|
28
|
+
bash -c "
|
29
|
+
mkdir -p /coverage;
|
30
|
+
bundle --local;
|
31
|
+
COVERALLS_NOISY=true bundle exec rspec --color --format documentation;"
|
32
|
+
|
33
|
+
- name: Push Coveralls
|
34
|
+
continue-on-error: true
|
35
|
+
env:
|
36
|
+
TOKEN: ${{ secrets.COVERALLS_TOKEN }}
|
37
|
+
working-directory: ${{ github.workspace }}/src/github.com/${{ github.repository }}
|
38
|
+
run: >
|
39
|
+
bash -c "
|
40
|
+
wget -cq https://coveralls.io/coveralls-linux.tar.gz -O - | tar -xz;
|
41
|
+
./coveralls -r $TOKEN -f /coverage/lcov.info;"
|
data/.gitignore
CHANGED
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
3.0.2
|
data/CHANGELOG.md
ADDED
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# HermesMessengerOfTheGods
|
2
2
|
[](https://circleci.com/gh/GetTerminus/hermes_messenger_of_the_gods)
|
3
3
|
[](https://codeclimate.com/repos/58d16440cf31c32d1000041c/feed)
|
4
|
-
[](https://coveralls.io/github/GetTerminus/hermes_messenger_of_the_gods)
|
5
5
|
[](https://codeclimate.com/repos/58d16440cf31c32d1000041c/feed)
|
6
6
|
|
7
7
|
## Installation
|
@@ -34,12 +34,12 @@ Gem::Specification.new do |spec|
|
|
34
34
|
spec.add_dependency 'aws-sdk-sns', '~> 1.0'
|
35
35
|
spec.add_dependency 'aws-sdk-sqs', '~> 1.0'
|
36
36
|
spec.add_dependency 'thor'
|
37
|
+
spec.add_dependency 'rexml'
|
37
38
|
|
38
39
|
spec.add_development_dependency 'bundler', '~> 2.0'
|
39
40
|
spec.add_development_dependency 'memory_profiler'
|
40
41
|
spec.add_development_dependency 'pry'
|
41
42
|
spec.add_development_dependency 'rake', '~> 10.0'
|
42
43
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
43
|
-
spec.add_development_dependency 'simplecov', '~> 1.14'
|
44
44
|
spec.add_development_dependency 'timecop'
|
45
45
|
end
|
@@ -32,6 +32,9 @@ module HermesMessengerOfTheGods
|
|
32
32
|
def work_off
|
33
33
|
WorkerStatusServer.start!(worker: self) if health_check_enabled?
|
34
34
|
|
35
|
+
trap(:TERM) { endpoint.shutdown! }
|
36
|
+
trap(:INT) { endpoint.shutdown! }
|
37
|
+
|
35
38
|
instrument(:starting)
|
36
39
|
self.consecutive_failures = 0
|
37
40
|
endpoint.work_off do |job, original_message|
|
@@ -10,21 +10,63 @@ module HermesMessengerOfTheGods
|
|
10
10
|
VISIBILITY_EXTEND_DURATION = 120
|
11
11
|
VISIBILITY_EXTEND_FREQUENCY = 60
|
12
12
|
|
13
|
+
def initialize(*args)
|
14
|
+
super
|
15
|
+
@message_mux = Monitor.new
|
16
|
+
end
|
17
|
+
|
13
18
|
def poller
|
14
19
|
@poller ||= Aws::SQS::QueuePoller.new(endpoint)
|
15
20
|
end
|
16
21
|
|
22
|
+
def inflight_messages
|
23
|
+
@message_mux.synchronize { @inflight_messages ||= [] }
|
24
|
+
end
|
25
|
+
|
26
|
+
def inflight_messages=(val)
|
27
|
+
@message_mux.synchronize { @inflight_messages = val }
|
28
|
+
end
|
29
|
+
|
30
|
+
def shutting_down?
|
31
|
+
@shutdown || false
|
32
|
+
end
|
33
|
+
|
34
|
+
# Basic Shutdown behavior:
|
35
|
+
# Allow in-progress message to finish working.
|
36
|
+
# Reset visbility timeout to all un-executed messages (from current message to end of array) to 0 so they move
|
37
|
+
# to other works
|
38
|
+
#
|
39
|
+
# Break from polling
|
40
|
+
def shutdown!
|
41
|
+
say Logger::INFO, 'Shutdown command received'
|
42
|
+
@shutdown = true
|
43
|
+
end
|
44
|
+
|
17
45
|
def poll_options
|
18
46
|
(options[:poll_options] || {}).merge(skip_delete: true)
|
19
47
|
end
|
20
48
|
|
21
49
|
def work_off(&blk)
|
22
|
-
poller.
|
23
|
-
messages = Array.wrap(messages)
|
50
|
+
poller.before_request { |_stats| throw :stop_polling if shutting_down? }
|
24
51
|
|
25
|
-
|
26
|
-
|
27
|
-
|
52
|
+
poller.poll(poll_options) do |messages, _stats|
|
53
|
+
self.inflight_messages = messages = Array.wrap(messages)
|
54
|
+
|
55
|
+
working_messages do
|
56
|
+
completion_results = messages.group_by do |msg|
|
57
|
+
# We return false if we are shutting down so the messages are not deleted.
|
58
|
+
# It is also possible that this process has already releases these SQS messages
|
59
|
+
# back in to the queue so they may be picked up by another process.
|
60
|
+
#
|
61
|
+
# Work message returns true if the messager should be considered successful
|
62
|
+
shutting_down? ? :shutdown : work_message(msg, &blk)
|
63
|
+
end
|
64
|
+
|
65
|
+
poller.delete_messages(completion_results[true]) unless completion_results.fetch(true, []).empty?
|
66
|
+
# Messages skipped due to shutdowns get their visibility set back to 0 so they restart
|
67
|
+
# normal failed jobs will be left in queue until their visibility timeout expires to indicate a backoff
|
68
|
+
set_message_visibility(completion_results[:shutdown], 0) unless completion_results.fetch(:shutdown,
|
69
|
+
[]).empty?
|
28
70
|
end
|
29
71
|
end
|
30
72
|
end
|
@@ -54,9 +96,9 @@ module HermesMessengerOfTheGods
|
|
54
96
|
def has_pending_work?
|
55
97
|
data = queue_data.attributes
|
56
98
|
|
57
|
-
approximate_pending_messages = data[
|
58
|
-
|
59
|
-
|
99
|
+
approximate_pending_messages = data['ApproximateNumberOfMessages'].to_i -
|
100
|
+
data['ApproximateNumberOfMessagesNotVisible'].to_i -
|
101
|
+
data['ApproximateNumberOfMessagesDelayed'].to_i
|
60
102
|
|
61
103
|
# Just in case the math is off
|
62
104
|
approximate_pending_messages > 0
|
@@ -77,38 +119,40 @@ module HermesMessengerOfTheGods
|
|
77
119
|
message_body
|
78
120
|
end
|
79
121
|
|
80
|
-
def working_messages
|
81
|
-
thread = start_visibility_update_thread
|
82
|
-
|
122
|
+
def working_messages
|
123
|
+
thread = start_visibility_update_thread
|
83
124
|
yield
|
84
125
|
ensure
|
85
126
|
thread&.terminate
|
86
127
|
end
|
87
128
|
|
88
|
-
def start_visibility_update_thread
|
129
|
+
def start_visibility_update_thread
|
89
130
|
start_work_time = Time.now
|
90
131
|
Thread.new do
|
91
132
|
loop do
|
92
133
|
new_time = (Time.now - start_work_time) + VISIBILITY_EXTEND_DURATION
|
93
|
-
|
94
|
-
entries: messages.collect do |message|
|
95
|
-
{
|
96
|
-
id: SecureRandom.uuid,
|
97
|
-
receipt_handle: message.receipt_handle,
|
98
|
-
visibility_timeout: new_time
|
99
|
-
}
|
100
|
-
end
|
101
|
-
)
|
102
|
-
|
134
|
+
set_message_visibility(inflight_messages, new_time)
|
103
135
|
sleep VISIBILITY_EXTEND_FREQUENCY
|
104
136
|
rescue StandardError => e
|
105
|
-
|
106
|
-
|
137
|
+
warn 'Error received trying to extend visibility'
|
138
|
+
warn e.message
|
107
139
|
|
108
140
|
raise
|
109
141
|
end
|
110
142
|
end
|
111
143
|
end
|
144
|
+
|
145
|
+
def set_message_visibility(messages, new_time)
|
146
|
+
queue.change_message_visibility_batch(
|
147
|
+
entries: messages.collect do |message|
|
148
|
+
{
|
149
|
+
id: SecureRandom.uuid,
|
150
|
+
receipt_handle: message.receipt_handle,
|
151
|
+
visibility_timeout: new_time
|
152
|
+
}
|
153
|
+
end
|
154
|
+
)
|
155
|
+
end
|
112
156
|
end
|
113
157
|
end
|
114
158
|
end
|
@@ -15,6 +15,8 @@ module HermesMessengerOfTheGods
|
|
15
15
|
end
|
16
16
|
end
|
17
17
|
|
18
|
+
attr_accessor :on_receive
|
19
|
+
|
18
20
|
def received
|
19
21
|
self.class.received[endpoint]
|
20
22
|
end
|
@@ -29,7 +31,9 @@ module HermesMessengerOfTheGods
|
|
29
31
|
|
30
32
|
def do_transmit(msg, opts, raw_message = {})
|
31
33
|
pub_opts = fetch_option(:publish_options, raw_message) || {}
|
32
|
-
|
34
|
+
new_msg = { message: msg, options: opts.merge(pub_opts) }
|
35
|
+
received << new_msg
|
36
|
+
on_receive.call(new_msg) if on_receive
|
33
37
|
"Recorded msg ##{self.class.received[endpoint].length} for #{endpoint}"
|
34
38
|
end
|
35
39
|
end
|
data/packageGems.sh
CHANGED
@@ -4,7 +4,7 @@ docker run --rm -t -i \
|
|
4
4
|
-v $HOME/.ssh:/root/.ssh \
|
5
5
|
--mount type=bind,source="$(pwd)",target=/app \
|
6
6
|
--workdir=/app/api \
|
7
|
-
getterminus/ruby-docker-images:2.
|
7
|
+
getterminus/ruby-docker-images:2.7-je-20210920 \
|
8
8
|
/bin/bash -c "
|
9
9
|
bundle config specific_platform true && \
|
10
10
|
bundle lock --add-platform x86_64-linux && \
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hermes_messenger_of_the_gods
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brian Malinconico
|
8
8
|
- Stevie Vines
|
9
|
-
autorequire:
|
9
|
+
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2022-07-07 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activemodel
|
@@ -81,6 +81,20 @@ dependencies:
|
|
81
81
|
- - ">="
|
82
82
|
- !ruby/object:Gem::Version
|
83
83
|
version: '0'
|
84
|
+
- !ruby/object:Gem::Dependency
|
85
|
+
name: rexml
|
86
|
+
requirement: !ruby/object:Gem::Requirement
|
87
|
+
requirements:
|
88
|
+
- - ">="
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: '0'
|
91
|
+
type: :runtime
|
92
|
+
prerelease: false
|
93
|
+
version_requirements: !ruby/object:Gem::Requirement
|
94
|
+
requirements:
|
95
|
+
- - ">="
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: '0'
|
84
98
|
- !ruby/object:Gem::Dependency
|
85
99
|
name: bundler
|
86
100
|
requirement: !ruby/object:Gem::Requirement
|
@@ -151,20 +165,6 @@ dependencies:
|
|
151
165
|
- - "~>"
|
152
166
|
- !ruby/object:Gem::Version
|
153
167
|
version: '3.0'
|
154
|
-
- !ruby/object:Gem::Dependency
|
155
|
-
name: simplecov
|
156
|
-
requirement: !ruby/object:Gem::Requirement
|
157
|
-
requirements:
|
158
|
-
- - "~>"
|
159
|
-
- !ruby/object:Gem::Version
|
160
|
-
version: '1.14'
|
161
|
-
type: :development
|
162
|
-
prerelease: false
|
163
|
-
version_requirements: !ruby/object:Gem::Requirement
|
164
|
-
requirements:
|
165
|
-
- - "~>"
|
166
|
-
- !ruby/object:Gem::Version
|
167
|
-
version: '1.14'
|
168
168
|
- !ruby/object:Gem::Dependency
|
169
169
|
name: timecop
|
170
170
|
requirement: !ruby/object:Gem::Requirement
|
@@ -188,11 +188,12 @@ executables:
|
|
188
188
|
extensions: []
|
189
189
|
extra_rdoc_files: []
|
190
190
|
files:
|
191
|
-
- ".
|
191
|
+
- ".github/workflows/test.yml"
|
192
192
|
- ".gitignore"
|
193
193
|
- ".rspec"
|
194
194
|
- ".ruby-version"
|
195
195
|
- ".travis.yml"
|
196
|
+
- CHANGELOG.md
|
196
197
|
- Gemfile
|
197
198
|
- README.md
|
198
199
|
- Rakefile
|
@@ -221,54 +222,59 @@ files:
|
|
221
222
|
- lib/hermes_messenger_of_the_gods/testing/rspec_helpers.rb
|
222
223
|
- lib/hermes_messenger_of_the_gods/version.rb
|
223
224
|
- packageGems.sh
|
224
|
-
- vendor/cache/activemodel-6.1.1.gem
|
225
|
-
- vendor/cache/activesupport-6.1.1.gem
|
226
|
-
- vendor/cache/addressable-2.
|
227
|
-
- vendor/cache/aws-eventstream-1.
|
228
|
-
- vendor/cache/aws-partitions-1.
|
229
|
-
- vendor/cache/aws-sdk-core-3.
|
230
|
-
- vendor/cache/aws-sdk-sns-1.
|
231
|
-
- vendor/cache/aws-sdk-sqs-1.
|
232
|
-
- vendor/cache/aws-sigv4-1.
|
233
|
-
- vendor/cache/codeclimate-test-reporter-1.0.
|
225
|
+
- vendor/cache/activemodel-6.1.4.1.gem
|
226
|
+
- vendor/cache/activesupport-6.1.4.1.gem
|
227
|
+
- vendor/cache/addressable-2.8.0.gem
|
228
|
+
- vendor/cache/aws-eventstream-1.2.0.gem
|
229
|
+
- vendor/cache/aws-partitions-1.509.0.gem
|
230
|
+
- vendor/cache/aws-sdk-core-3.121.1.gem
|
231
|
+
- vendor/cache/aws-sdk-sns-1.45.0.gem
|
232
|
+
- vendor/cache/aws-sdk-sqs-1.44.0.gem
|
233
|
+
- vendor/cache/aws-sigv4-1.4.0.gem
|
234
|
+
- vendor/cache/codeclimate-test-reporter-1.0.7.gem
|
234
235
|
- vendor/cache/coderay-1.1.3.gem
|
235
|
-
- vendor/cache/concurrent-ruby-1.1.
|
236
|
+
- vendor/cache/concurrent-ruby-1.1.9.gem
|
237
|
+
- vendor/cache/coveralls_reborn-0.22.0.gem
|
236
238
|
- vendor/cache/crack-0.4.5.gem
|
237
239
|
- vendor/cache/diff-lcs-1.4.4.gem
|
238
|
-
- vendor/cache/docile-1.
|
239
|
-
- vendor/cache/google-protobuf-3.
|
240
|
-
- vendor/cache/google-protobuf-3.
|
241
|
-
- vendor/cache/googleapis-common-protos-types-1.0.
|
242
|
-
- vendor/cache/grpc-1.
|
243
|
-
- vendor/cache/grpc-1.
|
240
|
+
- vendor/cache/docile-1.4.0.gem
|
241
|
+
- vendor/cache/google-protobuf-3.18.0-universal-darwin.gem
|
242
|
+
- vendor/cache/google-protobuf-3.18.0-x86_64-linux.gem
|
243
|
+
- vendor/cache/googleapis-common-protos-types-1.2.0.gem
|
244
|
+
- vendor/cache/grpc-1.40.0-universal-darwin.gem
|
245
|
+
- vendor/cache/grpc-1.40.0-x86_64-linux.gem
|
244
246
|
- vendor/cache/hashdiff-1.0.1.gem
|
245
|
-
- vendor/cache/i18n-1.8.
|
247
|
+
- vendor/cache/i18n-1.8.10.gem
|
246
248
|
- vendor/cache/jmespath-1.4.0.gem
|
247
|
-
- vendor/cache/json-2.5.1.gem
|
248
249
|
- vendor/cache/memory_profiler-1.0.0.gem
|
249
250
|
- vendor/cache/method_source-1.0.0.gem
|
250
|
-
- vendor/cache/minitest-5.14.
|
251
|
-
- vendor/cache/pry-0.
|
251
|
+
- vendor/cache/minitest-5.14.4.gem
|
252
|
+
- vendor/cache/pry-0.14.1.gem
|
252
253
|
- vendor/cache/public_suffix-4.0.6.gem
|
253
254
|
- vendor/cache/rake-10.5.0.gem
|
254
|
-
- vendor/cache/rexml-3.2.
|
255
|
+
- vendor/cache/rexml-3.2.5.gem
|
255
256
|
- vendor/cache/rspec-3.10.0.gem
|
256
257
|
- vendor/cache/rspec-core-3.10.1.gem
|
257
258
|
- vendor/cache/rspec-expectations-3.10.1.gem
|
258
|
-
- vendor/cache/rspec-mocks-3.10.
|
259
|
-
- vendor/cache/rspec-support-3.10.
|
260
|
-
- vendor/cache/simplecov-0.
|
261
|
-
- vendor/cache/simplecov-html-0.
|
259
|
+
- vendor/cache/rspec-mocks-3.10.2.gem
|
260
|
+
- vendor/cache/rspec-support-3.10.2.gem
|
261
|
+
- vendor/cache/simplecov-0.21.2.gem
|
262
|
+
- vendor/cache/simplecov-html-0.12.3.gem
|
263
|
+
- vendor/cache/simplecov-lcov-0.8.0.gem
|
264
|
+
- vendor/cache/simplecov_json_formatter-0.1.3.gem
|
265
|
+
- vendor/cache/sync-0.5.0.gem
|
266
|
+
- vendor/cache/term-ansicolor-1.7.1.gem
|
262
267
|
- vendor/cache/thor-1.1.0.gem
|
263
|
-
- vendor/cache/timecop-0.9.
|
268
|
+
- vendor/cache/timecop-0.9.4.gem
|
269
|
+
- vendor/cache/tins-1.29.1.gem
|
264
270
|
- vendor/cache/tzinfo-2.0.4.gem
|
265
|
-
- vendor/cache/webmock-3.
|
271
|
+
- vendor/cache/webmock-3.14.0.gem
|
266
272
|
- vendor/cache/zeitwerk-2.4.2.gem
|
267
|
-
homepage:
|
273
|
+
homepage:
|
268
274
|
licenses: []
|
269
275
|
metadata:
|
270
276
|
allowed_push_host: https://rubygems.org
|
271
|
-
post_install_message:
|
277
|
+
post_install_message:
|
272
278
|
rdoc_options: []
|
273
279
|
require_paths:
|
274
280
|
- lib
|
@@ -283,8 +289,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
283
289
|
- !ruby/object:Gem::Version
|
284
290
|
version: '0'
|
285
291
|
requirements: []
|
286
|
-
rubygems_version: 3.
|
287
|
-
signing_key:
|
292
|
+
rubygems_version: 3.2.22
|
293
|
+
signing_key:
|
288
294
|
specification_version: 4
|
289
295
|
summary: Create and receive messages like a god!
|
290
296
|
test_files: []
|
data/.drone.yml
DELETED
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
data/vendor/cache/i18n-1.8.7.gem
DELETED
Binary file
|
data/vendor/cache/json-2.5.1.gem
DELETED
Binary file
|
Binary file
|
data/vendor/cache/pry-0.13.1.gem
DELETED
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|