lepus 0.0.1.rc2 → 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 (66) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +0 -1
  3. data/Gemfile +5 -0
  4. data/Gemfile.lock +12 -1
  5. data/README.md +179 -0
  6. data/config.ru +14 -0
  7. data/docs/README.md +80 -0
  8. data/docs/cli.md +108 -0
  9. data/docs/configuration.md +171 -0
  10. data/docs/consumers.md +168 -0
  11. data/docs/getting-started.md +136 -0
  12. data/docs/images/lepus-web.png +0 -0
  13. data/docs/middleware.md +240 -0
  14. data/docs/producers.md +173 -0
  15. data/docs/prometheus.md +112 -0
  16. data/docs/rails.md +161 -0
  17. data/docs/supervisor.md +112 -0
  18. data/docs/testing.md +141 -0
  19. data/docs/web.md +85 -0
  20. data/examples/grafana-dashboard.json +450 -0
  21. data/gemfiles/Gemfile.rails-5.2 +1 -0
  22. data/gemfiles/Gemfile.rails-5.2.lock +59 -46
  23. data/gemfiles/Gemfile.rails-6.1 +1 -0
  24. data/gemfiles/Gemfile.rails-6.1.lock +72 -58
  25. data/gemfiles/Gemfile.rails-7.2.lock +8 -1
  26. data/gemfiles/Gemfile.rails-8.0.lock +8 -1
  27. data/lepus.gemspec +5 -1
  28. data/lib/lepus/cli.rb +24 -0
  29. data/lib/lepus/configuration.rb +42 -0
  30. data/lib/lepus/consumer.rb +12 -0
  31. data/lib/lepus/consumers/handler.rb +3 -1
  32. data/lib/lepus/consumers/stats.rb +70 -0
  33. data/lib/lepus/consumers/stats_registry.rb +29 -0
  34. data/lib/lepus/consumers/worker.rb +7 -6
  35. data/lib/lepus/process.rb +4 -4
  36. data/lib/lepus/process_registry/backend.rb +49 -0
  37. data/lib/lepus/process_registry/file_backend.rb +108 -0
  38. data/lib/lepus/process_registry/message_builder.rb +72 -0
  39. data/lib/lepus/process_registry/rabbitmq_backend.rb +153 -0
  40. data/lib/lepus/process_registry.rb +28 -67
  41. data/lib/lepus/prometheus/collector.rb +149 -0
  42. data/lib/lepus/prometheus/instrumentation.rb +168 -0
  43. data/lib/lepus/prometheus.rb +48 -0
  44. data/lib/lepus/publisher.rb +3 -1
  45. data/lib/lepus/supervisor.rb +9 -2
  46. data/lib/lepus/version.rb +1 -1
  47. data/lib/lepus/web/aggregator.rb +154 -0
  48. data/lib/lepus/web/api.rb +132 -0
  49. data/lib/lepus/web/app.rb +37 -0
  50. data/lib/lepus/web/management_api.rb +192 -0
  51. data/lib/lepus/web/respond_with.rb +28 -0
  52. data/lib/lepus/web.rb +238 -0
  53. data/lib/lepus.rb +5 -0
  54. data/test_offline.html +189 -0
  55. data/web/assets/css/styles.css +635 -0
  56. data/web/assets/js/app.js +6 -0
  57. data/web/assets/js/bootstrap.js +20 -0
  58. data/web/assets/js/controllers/connection_controller.js +44 -0
  59. data/web/assets/js/controllers/dashboard_controller.js +499 -0
  60. data/web/assets/js/controllers/queue_controller.js +17 -0
  61. data/web/assets/js/controllers/theme_controller.js +31 -0
  62. data/web/assets/js/offline-manager.js +233 -0
  63. data/web/assets/js/service-worker-manager.js +65 -0
  64. data/web/index.html +159 -0
  65. data/web/sw.js +144 -0
  66. metadata +103 -5
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lepus
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1.rc2
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marcos G. Zimmermann
8
8
  autorequire:
9
9
  bindir: exec
10
10
  cert_chain: []
11
- date: 2026-03-14 00:00:00.000000000 Z
11
+ date: 2026-04-27 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: base64
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 0.0.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: 0.0.0
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: bunny
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -108,6 +122,34 @@ dependencies:
108
122
  - - ">="
109
123
  - !ruby/object:Gem::Version
110
124
  version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: rack
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '2.2'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '2.2'
139
+ - !ruby/object:Gem::Dependency
140
+ name: rack-test
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
111
153
  - !ruby/object:Gem::Dependency
112
154
  name: rspec
113
155
  requirement: !ruby/object:Gem::Requirement
@@ -220,7 +262,21 @@ dependencies:
220
262
  - - ">="
221
263
  - !ruby/object:Gem::Version
222
264
  version: '0'
223
- description: 'RabbitMQ consumers/producer for ruby applicationsd
265
+ - !ruby/object:Gem::Dependency
266
+ name: prometheus_exporter
267
+ requirement: !ruby/object:Gem::Requirement
268
+ requirements:
269
+ - - ">="
270
+ - !ruby/object:Gem::Version
271
+ version: '0'
272
+ type: :development
273
+ prerelease: false
274
+ version_requirements: !ruby/object:Gem::Requirement
275
+ requirements:
276
+ - - ">="
277
+ - !ruby/object:Gem::Version
278
+ version: '0'
279
+ description: 'RabbitMQ consumers/producer for ruby applications
224
280
 
225
281
  '
226
282
  email:
@@ -245,7 +301,22 @@ files:
245
301
  - Rakefile
246
302
  - bin/console
247
303
  - bin/setup
304
+ - config.ru
248
305
  - docker-compose.yml
306
+ - docs/README.md
307
+ - docs/cli.md
308
+ - docs/configuration.md
309
+ - docs/consumers.md
310
+ - docs/getting-started.md
311
+ - docs/images/lepus-web.png
312
+ - docs/middleware.md
313
+ - docs/producers.md
314
+ - docs/prometheus.md
315
+ - docs/rails.md
316
+ - docs/supervisor.md
317
+ - docs/testing.md
318
+ - docs/web.md
319
+ - examples/grafana-dashboard.json
249
320
  - exec/lepus
250
321
  - gemfiles/Gemfile.rails-5.2
251
322
  - gemfiles/Gemfile.rails-5.2.lock
@@ -271,6 +342,8 @@ files:
271
342
  - lib/lepus/consumers/middlewares/json.rb
272
343
  - lib/lepus/consumers/middlewares/max_retry.rb
273
344
  - lib/lepus/consumers/middlewares/unique.rb
345
+ - lib/lepus/consumers/stats.rb
346
+ - lib/lepus/consumers/stats_registry.rb
274
347
  - lib/lepus/consumers/worker.rb
275
348
  - lib/lepus/consumers/worker_factory.rb
276
349
  - lib/lepus/message.rb
@@ -282,6 +355,10 @@ files:
282
355
  - lib/lepus/primitive/string.rb
283
356
  - lib/lepus/process.rb
284
357
  - lib/lepus/process_registry.rb
358
+ - lib/lepus/process_registry/backend.rb
359
+ - lib/lepus/process_registry/file_backend.rb
360
+ - lib/lepus/process_registry/message_builder.rb
361
+ - lib/lepus/process_registry/rabbitmq_backend.rb
285
362
  - lib/lepus/processes.rb
286
363
  - lib/lepus/processes/base.rb
287
364
  - lib/lepus/processes/callbacks.rb
@@ -301,6 +378,9 @@ files:
301
378
  - lib/lepus/producers/middlewares/instrumentation.rb
302
379
  - lib/lepus/producers/middlewares/json.rb
303
380
  - lib/lepus/producers/middlewares/unique.rb
381
+ - lib/lepus/prometheus.rb
382
+ - lib/lepus/prometheus/collector.rb
383
+ - lib/lepus/prometheus/instrumentation.rb
304
384
  - lib/lepus/publisher.rb
305
385
  - lib/lepus/rails.rb
306
386
  - lib/lepus/rails/log_subscriber.rb
@@ -320,7 +400,25 @@ files:
320
400
  - lib/lepus/timer.rb
321
401
  - lib/lepus/unique.rb
322
402
  - lib/lepus/version.rb
403
+ - lib/lepus/web.rb
404
+ - lib/lepus/web/aggregator.rb
405
+ - lib/lepus/web/api.rb
406
+ - lib/lepus/web/app.rb
407
+ - lib/lepus/web/management_api.rb
408
+ - lib/lepus/web/respond_with.rb
323
409
  - lib/puma/plugin/lepus.rb
410
+ - test_offline.html
411
+ - web/assets/css/styles.css
412
+ - web/assets/js/app.js
413
+ - web/assets/js/bootstrap.js
414
+ - web/assets/js/controllers/connection_controller.js
415
+ - web/assets/js/controllers/dashboard_controller.js
416
+ - web/assets/js/controllers/queue_controller.js
417
+ - web/assets/js/controllers/theme_controller.js
418
+ - web/assets/js/offline-manager.js
419
+ - web/assets/js/service-worker-manager.js
420
+ - web/index.html
421
+ - web/sw.js
324
422
  homepage: https://github.com/marcosgz/lepus
325
423
  licenses:
326
424
  - MIT
@@ -340,9 +438,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
340
438
  version: 2.7.0
341
439
  required_rubygems_version: !ruby/object:Gem::Requirement
342
440
  requirements:
343
- - - ">"
441
+ - - ">="
344
442
  - !ruby/object:Gem::Version
345
- version: 1.3.1
443
+ version: '0'
346
444
  requirements: []
347
445
  rubygems_version: 3.4.10
348
446
  signing_key: