sidekiq-amigo 1.4.2 → 1.5.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/lib/amigo/router.rb +7 -1
- data/lib/amigo/version.rb +1 -1
- data/lib/amigo.rb +3 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 70d47770af144a84aedec89e8b74e4ebd13851119a5c329a0f4c65d56ec94a60
|
4
|
+
data.tar.gz: 69305abac1bb5eeb00eaf81613e591476bf1acb35cdac50dcc97a094d255aab8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: adf9aa76c352c9ddb9832f142d415b4efded423324dd78a87cfc3140a755eb266dd1a1b80e15a2f911ccafaaf8ea89f416d66dfe25a17955709fb1e4828554ef
|
7
|
+
data.tar.gz: f69c16bfd06a7ea5cc3ac15db4a962f3fb02345db60ac6f581123bf5425627775bb1958e9f99ff0be8b5956db57d4c6fec64d5422ff7903c0157bf0a0f8ba4d1
|
data/lib/amigo/router.rb
CHANGED
@@ -11,7 +11,13 @@ module Amigo
|
|
11
11
|
def perform(event_json)
|
12
12
|
event_name = event_json["name"]
|
13
13
|
matches = Amigo.registered_event_jobs.
|
14
|
-
select
|
14
|
+
select do |job|
|
15
|
+
if job.pattern.is_a?(Regexp)
|
16
|
+
job.pattern.match(event_name)
|
17
|
+
else
|
18
|
+
File.fnmatch(job.pattern, event_name, File::FNM_EXTGLOB)
|
19
|
+
end
|
20
|
+
end
|
15
21
|
matches.each do |job|
|
16
22
|
Amigo.synchronous_mode ? job.new.perform(event_json) : job.perform_async(event_json)
|
17
23
|
end
|
data/lib/amigo/version.rb
CHANGED
data/lib/amigo.rb
CHANGED
@@ -57,6 +57,9 @@ require "sidekiq-cron"
|
|
57
57
|
# The 'on' pattern can be 'myapp.customer.*' to match all customer events for example,
|
58
58
|
# or '*' to match all events. The rules of matching follow File.fnmatch.
|
59
59
|
#
|
60
|
+
# The 'on' pattern also accepts regular expressions, like /^myapp\.customer\.[a-z]+$/,
|
61
|
+
# to control the matching rules more closely than File.fnmatch can provide.
|
62
|
+
#
|
60
63
|
# Jobs must implement a `_perform` method, which takes a Amigo::Event.
|
61
64
|
# Note that normal Sidekiq workers use a 'perform' method that takes a variable number of arguments;
|
62
65
|
# the base Async::Job class has this method and delegates its business logic to the subclass _perform method.
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sidekiq-amigo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Lithic Technology
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-03-
|
11
|
+
date: 2023-03-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sidekiq
|