lepus 0.0.1.beta2 → 0.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.
Files changed (125) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/linter.yml +21 -0
  3. data/.github/workflows/specs.yml +93 -13
  4. data/.gitignore +2 -0
  5. data/.rubocop.yml +10 -0
  6. data/.tool-versions +1 -1
  7. data/Gemfile +7 -0
  8. data/Gemfile.lock +36 -9
  9. data/Makefile +19 -0
  10. data/README.md +562 -7
  11. data/bin/setup +5 -2
  12. data/config.ru +14 -0
  13. data/docker-compose.yml +5 -3
  14. data/docs/README.md +80 -0
  15. data/docs/cli.md +108 -0
  16. data/docs/configuration.md +171 -0
  17. data/docs/consumers.md +168 -0
  18. data/docs/getting-started.md +136 -0
  19. data/docs/images/lepus-web.png +0 -0
  20. data/docs/middleware.md +240 -0
  21. data/docs/producers.md +173 -0
  22. data/docs/prometheus.md +112 -0
  23. data/docs/rails.md +161 -0
  24. data/docs/supervisor.md +112 -0
  25. data/docs/testing.md +141 -0
  26. data/docs/web.md +85 -0
  27. data/examples/grafana-dashboard.json +450 -0
  28. data/gemfiles/Gemfile.rails-5.2 +7 -0
  29. data/gemfiles/{rails52.gemfile.lock → Gemfile.rails-5.2.lock} +102 -69
  30. data/gemfiles/Gemfile.rails-6.1 +7 -0
  31. data/gemfiles/{rails61.gemfile.lock → Gemfile.rails-6.1.lock} +113 -79
  32. data/gemfiles/{rails52.gemfile → Gemfile.rails-7.2} +1 -1
  33. data/gemfiles/Gemfile.rails-7.2.lock +321 -0
  34. data/gemfiles/{rails61.gemfile → Gemfile.rails-8.0} +1 -1
  35. data/gemfiles/Gemfile.rails-8.0.lock +322 -0
  36. data/lepus.gemspec +7 -1
  37. data/lib/lepus/cli.rb +35 -4
  38. data/lib/lepus/configuration.rb +107 -0
  39. data/lib/lepus/connection_pool.rb +135 -0
  40. data/lib/lepus/consumer.rb +59 -41
  41. data/lib/lepus/consumers/config.rb +183 -0
  42. data/lib/lepus/consumers/handler.rb +56 -0
  43. data/lib/lepus/consumers/middleware_chain.rb +22 -0
  44. data/lib/lepus/consumers/middlewares/exception_logger.rb +27 -0
  45. data/lib/lepus/consumers/middlewares/honeybadger.rb +33 -0
  46. data/lib/lepus/consumers/middlewares/json.rb +37 -0
  47. data/lib/lepus/consumers/middlewares/max_retry.rb +83 -0
  48. data/lib/lepus/consumers/middlewares/unique.rb +65 -0
  49. data/lib/lepus/consumers/stats.rb +70 -0
  50. data/lib/lepus/consumers/stats_registry.rb +29 -0
  51. data/lib/lepus/consumers/worker.rb +141 -0
  52. data/lib/lepus/consumers/worker_factory.rb +124 -0
  53. data/lib/lepus/consumers.rb +6 -0
  54. data/lib/lepus/message/delivery_info.rb +72 -0
  55. data/lib/lepus/message/metadata.rb +99 -0
  56. data/lib/lepus/message.rb +88 -5
  57. data/lib/lepus/middleware_chain.rb +83 -0
  58. data/lib/lepus/primitive/hash.rb +29 -0
  59. data/lib/lepus/process.rb +24 -24
  60. data/lib/lepus/process_registry/backend.rb +49 -0
  61. data/lib/lepus/process_registry/file_backend.rb +108 -0
  62. data/lib/lepus/process_registry/message_builder.rb +72 -0
  63. data/lib/lepus/process_registry/rabbitmq_backend.rb +153 -0
  64. data/lib/lepus/process_registry.rb +56 -23
  65. data/lib/lepus/processes/base.rb +0 -5
  66. data/lib/lepus/processes/callbacks.rb +3 -0
  67. data/lib/lepus/processes/interruptible.rb +4 -8
  68. data/lib/lepus/processes/procline.rb +1 -1
  69. data/lib/lepus/processes/registrable.rb +1 -1
  70. data/lib/lepus/processes/runnable.rb +1 -1
  71. data/lib/lepus/processes.rb +15 -0
  72. data/lib/lepus/producer.rb +141 -30
  73. data/lib/lepus/producers/config.rb +46 -0
  74. data/lib/lepus/producers/definition.rb +48 -0
  75. data/lib/lepus/producers/hooks.rb +170 -0
  76. data/lib/lepus/producers/middleware_chain.rb +22 -0
  77. data/lib/lepus/producers/middlewares/correlation_id.rb +37 -0
  78. data/lib/lepus/producers/middlewares/header.rb +47 -0
  79. data/lib/lepus/producers/middlewares/instrumentation.rb +30 -0
  80. data/lib/lepus/producers/middlewares/json.rb +47 -0
  81. data/lib/lepus/producers/middlewares/unique.rb +67 -0
  82. data/lib/lepus/producers.rb +7 -0
  83. data/lib/lepus/prometheus/collector.rb +149 -0
  84. data/lib/lepus/prometheus/instrumentation.rb +168 -0
  85. data/lib/lepus/prometheus.rb +48 -0
  86. data/lib/lepus/publisher.rb +67 -0
  87. data/lib/lepus/supervisor/children_pipes.rb +25 -0
  88. data/lib/lepus/supervisor/lifecycle_hooks.rb +50 -0
  89. data/lib/lepus/supervisor/pidfiled.rb +1 -1
  90. data/lib/lepus/supervisor/registry_cleaner.rb +22 -0
  91. data/lib/lepus/supervisor.rb +129 -25
  92. data/lib/lepus/testing/exchange.rb +95 -0
  93. data/lib/lepus/testing/message_builder.rb +177 -0
  94. data/lib/lepus/testing/rspec_matchers.rb +258 -0
  95. data/lib/lepus/testing.rb +210 -0
  96. data/lib/lepus/unique.rb +18 -0
  97. data/lib/lepus/version.rb +1 -1
  98. data/lib/lepus/web/aggregator.rb +154 -0
  99. data/lib/lepus/web/api.rb +132 -0
  100. data/lib/lepus/web/app.rb +37 -0
  101. data/lib/lepus/web/management_api.rb +192 -0
  102. data/lib/lepus/web/respond_with.rb +28 -0
  103. data/lib/lepus/web.rb +238 -0
  104. data/lib/lepus.rb +39 -28
  105. data/test_offline.html +189 -0
  106. data/web/assets/css/styles.css +635 -0
  107. data/web/assets/js/app.js +6 -0
  108. data/web/assets/js/bootstrap.js +20 -0
  109. data/web/assets/js/controllers/connection_controller.js +44 -0
  110. data/web/assets/js/controllers/dashboard_controller.js +499 -0
  111. data/web/assets/js/controllers/queue_controller.js +17 -0
  112. data/web/assets/js/controllers/theme_controller.js +31 -0
  113. data/web/assets/js/offline-manager.js +233 -0
  114. data/web/assets/js/service-worker-manager.js +65 -0
  115. data/web/index.html +159 -0
  116. data/web/sw.js +144 -0
  117. metadata +177 -18
  118. data/lib/lepus/consumer_config.rb +0 -149
  119. data/lib/lepus/consumer_wrapper.rb +0 -46
  120. data/lib/lepus/lifecycle_hooks.rb +0 -49
  121. data/lib/lepus/middlewares/honeybadger.rb +0 -23
  122. data/lib/lepus/middlewares/json.rb +0 -35
  123. data/lib/lepus/middlewares/max_retry.rb +0 -57
  124. data/lib/lepus/processes/consumer.rb +0 -113
  125. data/lib/lepus/supervisor/config.rb +0 -45
@@ -0,0 +1,321 @@
1
+ PATH
2
+ remote: ..
3
+ specs:
4
+ lepus (0.1.0)
5
+ base64
6
+ bunny
7
+ concurrent-ruby
8
+ multi_json
9
+ thor
10
+ zeitwerk
11
+
12
+ GEM
13
+ remote: https://rubygems.org/
14
+ specs:
15
+ actioncable (7.2.2.2)
16
+ actionpack (= 7.2.2.2)
17
+ activesupport (= 7.2.2.2)
18
+ nio4r (~> 2.0)
19
+ websocket-driver (>= 0.6.1)
20
+ zeitwerk (~> 2.6)
21
+ actionmailbox (7.2.2.2)
22
+ actionpack (= 7.2.2.2)
23
+ activejob (= 7.2.2.2)
24
+ activerecord (= 7.2.2.2)
25
+ activestorage (= 7.2.2.2)
26
+ activesupport (= 7.2.2.2)
27
+ mail (>= 2.8.0)
28
+ actionmailer (7.2.2.2)
29
+ actionpack (= 7.2.2.2)
30
+ actionview (= 7.2.2.2)
31
+ activejob (= 7.2.2.2)
32
+ activesupport (= 7.2.2.2)
33
+ mail (>= 2.8.0)
34
+ rails-dom-testing (~> 2.2)
35
+ actionpack (7.2.2.2)
36
+ actionview (= 7.2.2.2)
37
+ activesupport (= 7.2.2.2)
38
+ nokogiri (>= 1.8.5)
39
+ racc
40
+ rack (>= 2.2.4, < 3.2)
41
+ rack-session (>= 1.0.1)
42
+ rack-test (>= 0.6.3)
43
+ rails-dom-testing (~> 2.2)
44
+ rails-html-sanitizer (~> 1.6)
45
+ useragent (~> 0.16)
46
+ actiontext (7.2.2.2)
47
+ actionpack (= 7.2.2.2)
48
+ activerecord (= 7.2.2.2)
49
+ activestorage (= 7.2.2.2)
50
+ activesupport (= 7.2.2.2)
51
+ globalid (>= 0.6.0)
52
+ nokogiri (>= 1.8.5)
53
+ actionview (7.2.2.2)
54
+ activesupport (= 7.2.2.2)
55
+ builder (~> 3.1)
56
+ erubi (~> 1.11)
57
+ rails-dom-testing (~> 2.2)
58
+ rails-html-sanitizer (~> 1.6)
59
+ activejob (7.2.2.2)
60
+ activesupport (= 7.2.2.2)
61
+ globalid (>= 0.3.6)
62
+ activemodel (7.2.2.2)
63
+ activesupport (= 7.2.2.2)
64
+ activerecord (7.2.2.2)
65
+ activemodel (= 7.2.2.2)
66
+ activesupport (= 7.2.2.2)
67
+ timeout (>= 0.4.0)
68
+ activestorage (7.2.2.2)
69
+ actionpack (= 7.2.2.2)
70
+ activejob (= 7.2.2.2)
71
+ activerecord (= 7.2.2.2)
72
+ activesupport (= 7.2.2.2)
73
+ marcel (~> 1.0)
74
+ activesupport (7.2.2.2)
75
+ base64
76
+ benchmark (>= 0.3)
77
+ bigdecimal
78
+ concurrent-ruby (~> 1.0, >= 1.3.1)
79
+ connection_pool (>= 2.2.5)
80
+ drb
81
+ i18n (>= 1.6, < 2)
82
+ logger (>= 1.4.2)
83
+ minitest (>= 5.1)
84
+ securerandom (>= 0.3)
85
+ tzinfo (~> 2.0, >= 2.0.5)
86
+ addressable (2.8.7)
87
+ public_suffix (>= 2.0.2, < 7.0)
88
+ amq-protocol (2.3.4)
89
+ ast (2.4.3)
90
+ base64 (0.3.0)
91
+ benchmark (0.4.1)
92
+ bigdecimal (3.2.3)
93
+ builder (3.3.0)
94
+ bunny (2.24.0)
95
+ amq-protocol (~> 2.3)
96
+ sorted_set (~> 1, >= 1.0.2)
97
+ coderay (1.1.3)
98
+ concurrent-ruby (1.3.5)
99
+ connection_pool (2.5.4)
100
+ crack (1.0.0)
101
+ bigdecimal
102
+ rexml
103
+ crass (1.0.6)
104
+ date (3.4.1)
105
+ de-dupe (0.0.2)
106
+ redis
107
+ zeitwerk
108
+ diff-lcs (1.6.2)
109
+ docile (1.4.1)
110
+ dotenv (3.1.8)
111
+ drb (2.2.3)
112
+ erb (5.0.2)
113
+ erubi (1.13.1)
114
+ globalid (1.2.1)
115
+ activesupport (>= 6.1)
116
+ hashdiff (1.2.0)
117
+ i18n (1.14.7)
118
+ concurrent-ruby (~> 1.0)
119
+ io-console (0.8.1)
120
+ irb (1.15.2)
121
+ pp (>= 0.6.0)
122
+ rdoc (>= 4.0.0)
123
+ reline (>= 0.4.2)
124
+ json (2.13.2)
125
+ language_server-protocol (3.17.0.5)
126
+ lint_roller (1.1.0)
127
+ logger (1.7.0)
128
+ loofah (2.24.1)
129
+ crass (~> 1.0.2)
130
+ nokogiri (>= 1.12.0)
131
+ mail (2.8.1)
132
+ mini_mime (>= 0.1.1)
133
+ net-imap
134
+ net-pop
135
+ net-smtp
136
+ marcel (1.0.4)
137
+ method_source (1.1.0)
138
+ mini_mime (1.1.5)
139
+ minitest (5.25.5)
140
+ multi_json (1.17.0)
141
+ net-imap (0.5.10)
142
+ date
143
+ net-protocol
144
+ net-pop (0.1.2)
145
+ net-protocol
146
+ net-protocol (0.2.2)
147
+ timeout
148
+ net-smtp (0.5.1)
149
+ net-protocol
150
+ nio4r (2.7.4)
151
+ nokogiri (1.18.9-x86_64-linux-gnu)
152
+ racc (~> 1.4)
153
+ parallel (1.27.0)
154
+ parser (3.3.9.0)
155
+ ast (~> 2.4.1)
156
+ racc
157
+ pp (0.6.2)
158
+ prettyprint
159
+ prettyprint (0.2.0)
160
+ prism (1.4.0)
161
+ prometheus_exporter (2.3.1)
162
+ webrick
163
+ pry (0.15.2)
164
+ coderay (~> 1.1)
165
+ method_source (~> 1.0)
166
+ psych (5.2.6)
167
+ date
168
+ stringio
169
+ public_suffix (6.0.2)
170
+ racc (1.8.1)
171
+ rack (3.1.16)
172
+ rack-session (2.1.1)
173
+ base64 (>= 0.1.0)
174
+ rack (>= 3.0.0)
175
+ rack-test (2.2.0)
176
+ rack (>= 1.3)
177
+ rackup (2.2.1)
178
+ rack (>= 3)
179
+ rails (7.2.2.2)
180
+ actioncable (= 7.2.2.2)
181
+ actionmailbox (= 7.2.2.2)
182
+ actionmailer (= 7.2.2.2)
183
+ actionpack (= 7.2.2.2)
184
+ actiontext (= 7.2.2.2)
185
+ actionview (= 7.2.2.2)
186
+ activejob (= 7.2.2.2)
187
+ activemodel (= 7.2.2.2)
188
+ activerecord (= 7.2.2.2)
189
+ activestorage (= 7.2.2.2)
190
+ activesupport (= 7.2.2.2)
191
+ bundler (>= 1.15.0)
192
+ railties (= 7.2.2.2)
193
+ rails-dom-testing (2.3.0)
194
+ activesupport (>= 5.0.0)
195
+ minitest
196
+ nokogiri (>= 1.6)
197
+ rails-html-sanitizer (1.6.2)
198
+ loofah (~> 2.21)
199
+ nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
200
+ railties (7.2.2.2)
201
+ actionpack (= 7.2.2.2)
202
+ activesupport (= 7.2.2.2)
203
+ irb (~> 1.13)
204
+ rackup (>= 1.0.0)
205
+ rake (>= 12.2)
206
+ thor (~> 1.0, >= 1.2.2)
207
+ zeitwerk (~> 2.6)
208
+ rainbow (3.1.1)
209
+ rake (13.3.0)
210
+ rbtree (0.4.6)
211
+ rdoc (6.14.2)
212
+ erb
213
+ psych (>= 4.0.0)
214
+ redis (5.4.1)
215
+ redis-client (>= 0.22.0)
216
+ redis-client (0.27.0)
217
+ connection_pool
218
+ regexp_parser (2.11.2)
219
+ reline (0.6.2)
220
+ io-console (~> 0.5)
221
+ rexml (3.4.2)
222
+ rspec (3.13.1)
223
+ rspec-core (~> 3.13.0)
224
+ rspec-expectations (~> 3.13.0)
225
+ rspec-mocks (~> 3.13.0)
226
+ rspec-core (3.13.5)
227
+ rspec-support (~> 3.13.0)
228
+ rspec-expectations (3.13.5)
229
+ diff-lcs (>= 1.2.0, < 2.0)
230
+ rspec-support (~> 3.13.0)
231
+ rspec-mocks (3.13.5)
232
+ diff-lcs (>= 1.2.0, < 2.0)
233
+ rspec-support (~> 3.13.0)
234
+ rspec-support (3.13.5)
235
+ rubocop (1.75.8)
236
+ json (~> 2.3)
237
+ language_server-protocol (~> 3.17.0.2)
238
+ lint_roller (~> 1.1.0)
239
+ parallel (~> 1.10)
240
+ parser (>= 3.3.0.2)
241
+ rainbow (>= 2.2.2, < 4.0)
242
+ regexp_parser (>= 2.9.3, < 3.0)
243
+ rubocop-ast (>= 1.44.0, < 2.0)
244
+ ruby-progressbar (~> 1.7)
245
+ unicode-display_width (>= 2.4.0, < 4.0)
246
+ rubocop-ast (1.46.0)
247
+ parser (>= 3.3.7.2)
248
+ prism (~> 1.4)
249
+ rubocop-performance (1.25.0)
250
+ lint_roller (~> 1.1)
251
+ rubocop (>= 1.75.0, < 2.0)
252
+ rubocop-ast (>= 1.38.0, < 2.0)
253
+ rubocop-rspec (3.7.0)
254
+ lint_roller (~> 1.1)
255
+ rubocop (~> 1.72, >= 1.72.1)
256
+ ruby-progressbar (1.13.0)
257
+ securerandom (0.4.1)
258
+ set (1.1.2)
259
+ simplecov (0.22.0)
260
+ docile (~> 1.1)
261
+ simplecov-html (~> 0.11)
262
+ simplecov_json_formatter (~> 0.1)
263
+ simplecov-html (0.13.2)
264
+ simplecov_json_formatter (0.1.4)
265
+ sorted_set (1.0.3)
266
+ rbtree
267
+ set (~> 1.0)
268
+ standard (1.50.0)
269
+ language_server-protocol (~> 3.17.0.2)
270
+ lint_roller (~> 1.0)
271
+ rubocop (~> 1.75.5)
272
+ standard-custom (~> 1.0.0)
273
+ standard-performance (~> 1.8)
274
+ standard-custom (1.0.2)
275
+ lint_roller (~> 1.0)
276
+ rubocop (~> 1.50)
277
+ standard-performance (1.8.0)
278
+ lint_roller (~> 1.1)
279
+ rubocop-performance (~> 1.25.0)
280
+ stringio (3.1.7)
281
+ thor (1.4.0)
282
+ timeout (0.4.3)
283
+ tzinfo (2.0.6)
284
+ concurrent-ruby (~> 1.0)
285
+ unicode-display_width (3.1.5)
286
+ unicode-emoji (~> 4.0, >= 4.0.4)
287
+ unicode-emoji (4.0.4)
288
+ useragent (0.16.11)
289
+ webmock (3.25.1)
290
+ addressable (>= 2.8.0)
291
+ crack (>= 0.3.2)
292
+ hashdiff (>= 0.4.0, < 2.0.0)
293
+ webrick (1.9.2)
294
+ websocket-driver (0.8.0)
295
+ base64
296
+ websocket-extensions (>= 0.1.0)
297
+ websocket-extensions (0.1.5)
298
+ zeitwerk (2.7.3)
299
+
300
+ PLATFORMS
301
+ x86_64-linux
302
+
303
+ DEPENDENCIES
304
+ de-dupe
305
+ dotenv
306
+ lepus!
307
+ prometheus_exporter
308
+ pry
309
+ rack (>= 2.2)
310
+ rack-test
311
+ rails (~> 7.2, >= 7.2.2.2)
312
+ rspec
313
+ rubocop
314
+ rubocop-performance
315
+ rubocop-rspec
316
+ simplecov
317
+ standard
318
+ webmock
319
+
320
+ BUNDLED WITH
321
+ 2.4.13
@@ -2,4 +2,4 @@ source "https://rubygems.org"
2
2
 
3
3
  gemspec path: ".."
4
4
 
5
- gem "rails", "~> 6.1", ">= 6.1.7.10"
5
+ gem "rails", "~> 8.0", ">= 8.0.2.1"
@@ -0,0 +1,322 @@
1
+ PATH
2
+ remote: ..
3
+ specs:
4
+ lepus (0.1.0)
5
+ base64
6
+ bunny
7
+ concurrent-ruby
8
+ multi_json
9
+ thor
10
+ zeitwerk
11
+
12
+ GEM
13
+ remote: https://rubygems.org/
14
+ specs:
15
+ actioncable (8.0.2.1)
16
+ actionpack (= 8.0.2.1)
17
+ activesupport (= 8.0.2.1)
18
+ nio4r (~> 2.0)
19
+ websocket-driver (>= 0.6.1)
20
+ zeitwerk (~> 2.6)
21
+ actionmailbox (8.0.2.1)
22
+ actionpack (= 8.0.2.1)
23
+ activejob (= 8.0.2.1)
24
+ activerecord (= 8.0.2.1)
25
+ activestorage (= 8.0.2.1)
26
+ activesupport (= 8.0.2.1)
27
+ mail (>= 2.8.0)
28
+ actionmailer (8.0.2.1)
29
+ actionpack (= 8.0.2.1)
30
+ actionview (= 8.0.2.1)
31
+ activejob (= 8.0.2.1)
32
+ activesupport (= 8.0.2.1)
33
+ mail (>= 2.8.0)
34
+ rails-dom-testing (~> 2.2)
35
+ actionpack (8.0.2.1)
36
+ actionview (= 8.0.2.1)
37
+ activesupport (= 8.0.2.1)
38
+ nokogiri (>= 1.8.5)
39
+ rack (>= 2.2.4)
40
+ rack-session (>= 1.0.1)
41
+ rack-test (>= 0.6.3)
42
+ rails-dom-testing (~> 2.2)
43
+ rails-html-sanitizer (~> 1.6)
44
+ useragent (~> 0.16)
45
+ actiontext (8.0.2.1)
46
+ actionpack (= 8.0.2.1)
47
+ activerecord (= 8.0.2.1)
48
+ activestorage (= 8.0.2.1)
49
+ activesupport (= 8.0.2.1)
50
+ globalid (>= 0.6.0)
51
+ nokogiri (>= 1.8.5)
52
+ actionview (8.0.2.1)
53
+ activesupport (= 8.0.2.1)
54
+ builder (~> 3.1)
55
+ erubi (~> 1.11)
56
+ rails-dom-testing (~> 2.2)
57
+ rails-html-sanitizer (~> 1.6)
58
+ activejob (8.0.2.1)
59
+ activesupport (= 8.0.2.1)
60
+ globalid (>= 0.3.6)
61
+ activemodel (8.0.2.1)
62
+ activesupport (= 8.0.2.1)
63
+ activerecord (8.0.2.1)
64
+ activemodel (= 8.0.2.1)
65
+ activesupport (= 8.0.2.1)
66
+ timeout (>= 0.4.0)
67
+ activestorage (8.0.2.1)
68
+ actionpack (= 8.0.2.1)
69
+ activejob (= 8.0.2.1)
70
+ activerecord (= 8.0.2.1)
71
+ activesupport (= 8.0.2.1)
72
+ marcel (~> 1.0)
73
+ activesupport (8.0.2.1)
74
+ base64
75
+ benchmark (>= 0.3)
76
+ bigdecimal
77
+ concurrent-ruby (~> 1.0, >= 1.3.1)
78
+ connection_pool (>= 2.2.5)
79
+ drb
80
+ i18n (>= 1.6, < 2)
81
+ logger (>= 1.4.2)
82
+ minitest (>= 5.1)
83
+ securerandom (>= 0.3)
84
+ tzinfo (~> 2.0, >= 2.0.5)
85
+ uri (>= 0.13.1)
86
+ addressable (2.8.7)
87
+ public_suffix (>= 2.0.2, < 7.0)
88
+ amq-protocol (2.3.4)
89
+ ast (2.4.3)
90
+ base64 (0.3.0)
91
+ benchmark (0.4.1)
92
+ bigdecimal (3.2.3)
93
+ builder (3.3.0)
94
+ bunny (2.24.0)
95
+ amq-protocol (~> 2.3)
96
+ sorted_set (~> 1, >= 1.0.2)
97
+ coderay (1.1.3)
98
+ concurrent-ruby (1.3.5)
99
+ connection_pool (2.5.4)
100
+ crack (1.0.0)
101
+ bigdecimal
102
+ rexml
103
+ crass (1.0.6)
104
+ date (3.4.1)
105
+ de-dupe (0.0.2)
106
+ redis
107
+ zeitwerk
108
+ diff-lcs (1.6.2)
109
+ docile (1.4.1)
110
+ dotenv (3.1.8)
111
+ drb (2.2.3)
112
+ erb (5.0.2)
113
+ erubi (1.13.1)
114
+ globalid (1.2.1)
115
+ activesupport (>= 6.1)
116
+ hashdiff (1.2.0)
117
+ i18n (1.14.7)
118
+ concurrent-ruby (~> 1.0)
119
+ io-console (0.8.1)
120
+ irb (1.15.2)
121
+ pp (>= 0.6.0)
122
+ rdoc (>= 4.0.0)
123
+ reline (>= 0.4.2)
124
+ json (2.13.2)
125
+ language_server-protocol (3.17.0.5)
126
+ lint_roller (1.1.0)
127
+ logger (1.7.0)
128
+ loofah (2.24.1)
129
+ crass (~> 1.0.2)
130
+ nokogiri (>= 1.12.0)
131
+ mail (2.8.1)
132
+ mini_mime (>= 0.1.1)
133
+ net-imap
134
+ net-pop
135
+ net-smtp
136
+ marcel (1.0.4)
137
+ method_source (1.1.0)
138
+ mini_mime (1.1.5)
139
+ minitest (5.25.5)
140
+ multi_json (1.17.0)
141
+ net-imap (0.5.10)
142
+ date
143
+ net-protocol
144
+ net-pop (0.1.2)
145
+ net-protocol
146
+ net-protocol (0.2.2)
147
+ timeout
148
+ net-smtp (0.5.1)
149
+ net-protocol
150
+ nio4r (2.7.4)
151
+ nokogiri (1.18.9-x86_64-linux-gnu)
152
+ racc (~> 1.4)
153
+ parallel (1.27.0)
154
+ parser (3.3.9.0)
155
+ ast (~> 2.4.1)
156
+ racc
157
+ pp (0.6.2)
158
+ prettyprint
159
+ prettyprint (0.2.0)
160
+ prism (1.4.0)
161
+ prometheus_exporter (2.3.1)
162
+ webrick
163
+ pry (0.15.2)
164
+ coderay (~> 1.1)
165
+ method_source (~> 1.0)
166
+ psych (5.2.6)
167
+ date
168
+ stringio
169
+ public_suffix (6.0.2)
170
+ racc (1.8.1)
171
+ rack (3.2.1)
172
+ rack-session (2.1.1)
173
+ base64 (>= 0.1.0)
174
+ rack (>= 3.0.0)
175
+ rack-test (2.2.0)
176
+ rack (>= 1.3)
177
+ rackup (2.2.1)
178
+ rack (>= 3)
179
+ rails (8.0.2.1)
180
+ actioncable (= 8.0.2.1)
181
+ actionmailbox (= 8.0.2.1)
182
+ actionmailer (= 8.0.2.1)
183
+ actionpack (= 8.0.2.1)
184
+ actiontext (= 8.0.2.1)
185
+ actionview (= 8.0.2.1)
186
+ activejob (= 8.0.2.1)
187
+ activemodel (= 8.0.2.1)
188
+ activerecord (= 8.0.2.1)
189
+ activestorage (= 8.0.2.1)
190
+ activesupport (= 8.0.2.1)
191
+ bundler (>= 1.15.0)
192
+ railties (= 8.0.2.1)
193
+ rails-dom-testing (2.3.0)
194
+ activesupport (>= 5.0.0)
195
+ minitest
196
+ nokogiri (>= 1.6)
197
+ rails-html-sanitizer (1.6.2)
198
+ loofah (~> 2.21)
199
+ nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
200
+ railties (8.0.2.1)
201
+ actionpack (= 8.0.2.1)
202
+ activesupport (= 8.0.2.1)
203
+ irb (~> 1.13)
204
+ rackup (>= 1.0.0)
205
+ rake (>= 12.2)
206
+ thor (~> 1.0, >= 1.2.2)
207
+ zeitwerk (~> 2.6)
208
+ rainbow (3.1.1)
209
+ rake (13.3.0)
210
+ rbtree (0.4.6)
211
+ rdoc (6.14.2)
212
+ erb
213
+ psych (>= 4.0.0)
214
+ redis (5.4.1)
215
+ redis-client (>= 0.22.0)
216
+ redis-client (0.27.0)
217
+ connection_pool
218
+ regexp_parser (2.11.2)
219
+ reline (0.6.2)
220
+ io-console (~> 0.5)
221
+ rexml (3.4.2)
222
+ rspec (3.13.1)
223
+ rspec-core (~> 3.13.0)
224
+ rspec-expectations (~> 3.13.0)
225
+ rspec-mocks (~> 3.13.0)
226
+ rspec-core (3.13.5)
227
+ rspec-support (~> 3.13.0)
228
+ rspec-expectations (3.13.5)
229
+ diff-lcs (>= 1.2.0, < 2.0)
230
+ rspec-support (~> 3.13.0)
231
+ rspec-mocks (3.13.5)
232
+ diff-lcs (>= 1.2.0, < 2.0)
233
+ rspec-support (~> 3.13.0)
234
+ rspec-support (3.13.5)
235
+ rubocop (1.75.8)
236
+ json (~> 2.3)
237
+ language_server-protocol (~> 3.17.0.2)
238
+ lint_roller (~> 1.1.0)
239
+ parallel (~> 1.10)
240
+ parser (>= 3.3.0.2)
241
+ rainbow (>= 2.2.2, < 4.0)
242
+ regexp_parser (>= 2.9.3, < 3.0)
243
+ rubocop-ast (>= 1.44.0, < 2.0)
244
+ ruby-progressbar (~> 1.7)
245
+ unicode-display_width (>= 2.4.0, < 4.0)
246
+ rubocop-ast (1.46.0)
247
+ parser (>= 3.3.7.2)
248
+ prism (~> 1.4)
249
+ rubocop-performance (1.25.0)
250
+ lint_roller (~> 1.1)
251
+ rubocop (>= 1.75.0, < 2.0)
252
+ rubocop-ast (>= 1.38.0, < 2.0)
253
+ rubocop-rspec (3.7.0)
254
+ lint_roller (~> 1.1)
255
+ rubocop (~> 1.72, >= 1.72.1)
256
+ ruby-progressbar (1.13.0)
257
+ securerandom (0.4.1)
258
+ set (1.1.2)
259
+ simplecov (0.22.0)
260
+ docile (~> 1.1)
261
+ simplecov-html (~> 0.11)
262
+ simplecov_json_formatter (~> 0.1)
263
+ simplecov-html (0.13.2)
264
+ simplecov_json_formatter (0.1.4)
265
+ sorted_set (1.0.3)
266
+ rbtree
267
+ set (~> 1.0)
268
+ standard (1.50.0)
269
+ language_server-protocol (~> 3.17.0.2)
270
+ lint_roller (~> 1.0)
271
+ rubocop (~> 1.75.5)
272
+ standard-custom (~> 1.0.0)
273
+ standard-performance (~> 1.8)
274
+ standard-custom (1.0.2)
275
+ lint_roller (~> 1.0)
276
+ rubocop (~> 1.50)
277
+ standard-performance (1.8.0)
278
+ lint_roller (~> 1.1)
279
+ rubocop-performance (~> 1.25.0)
280
+ stringio (3.1.7)
281
+ thor (1.4.0)
282
+ timeout (0.4.3)
283
+ tzinfo (2.0.6)
284
+ concurrent-ruby (~> 1.0)
285
+ unicode-display_width (3.1.5)
286
+ unicode-emoji (~> 4.0, >= 4.0.4)
287
+ unicode-emoji (4.0.4)
288
+ uri (1.0.3)
289
+ useragent (0.16.11)
290
+ webmock (3.25.1)
291
+ addressable (>= 2.8.0)
292
+ crack (>= 0.3.2)
293
+ hashdiff (>= 0.4.0, < 2.0.0)
294
+ webrick (1.9.2)
295
+ websocket-driver (0.8.0)
296
+ base64
297
+ websocket-extensions (>= 0.1.0)
298
+ websocket-extensions (0.1.5)
299
+ zeitwerk (2.7.3)
300
+
301
+ PLATFORMS
302
+ x86_64-linux
303
+
304
+ DEPENDENCIES
305
+ de-dupe
306
+ dotenv
307
+ lepus!
308
+ prometheus_exporter
309
+ pry
310
+ rack (>= 2.2)
311
+ rack-test
312
+ rails (~> 8.0, >= 8.0.2.1)
313
+ rspec
314
+ rubocop
315
+ rubocop-performance
316
+ rubocop-rspec
317
+ simplecov
318
+ standard
319
+ webmock
320
+
321
+ BUNDLED WITH
322
+ 2.4.13
data/lepus.gemspec CHANGED
@@ -12,7 +12,7 @@ Gem::Specification.new do |spec|
12
12
  RabbitMQ consumers/producer for ruby applications
13
13
  SUMMARY
14
14
  spec.description = <<~DESCRIPTION
15
- RabbitMQ consumers/producer for ruby applicationsd
15
+ RabbitMQ consumers/producer for ruby applications
16
16
  DESCRIPTION
17
17
 
18
18
  spec.homepage = "https://github.com/marcosgz/lepus"
@@ -36,6 +36,7 @@ Gem::Specification.new do |spec|
36
36
  spec.executables = spec.files.grep(%r{^exec/}) { |f| File.basename(f) }
37
37
  spec.require_paths = ["lib"]
38
38
 
39
+ spec.add_dependency "base64", ">= 0.0.0"
39
40
  spec.add_dependency "bunny", ">= 0.0.0"
40
41
  spec.add_dependency "thor", ">= 0.0.0"
41
42
  spec.add_dependency "zeitwerk", ">= 0.0.0"
@@ -44,10 +45,15 @@ Gem::Specification.new do |spec|
44
45
 
45
46
  spec.add_development_dependency "dotenv"
46
47
  spec.add_development_dependency "pry"
48
+ spec.add_development_dependency "rack", ">= 2.2"
49
+ spec.add_development_dependency "rack-test"
47
50
  spec.add_development_dependency "rspec"
48
51
  spec.add_development_dependency "rubocop"
49
52
  spec.add_development_dependency "rubocop-performance"
50
53
  spec.add_development_dependency "rubocop-rspec"
51
54
  spec.add_development_dependency "standard"
52
55
  spec.add_development_dependency "webmock"
56
+ spec.add_development_dependency "simplecov"
57
+ spec.add_development_dependency "de-dupe"
58
+ spec.add_development_dependency "prometheus_exporter"
53
59
  end