sidekiq-congestion 0.0.3 → 0.0.4

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ef06978b7ae5d4fa9606d28a99c6c9c00e4c172d
4
- data.tar.gz: 7cbc297a13bb300608fdaa0bef166eb18084196f
3
+ metadata.gz: a51009c1558dfb30424208168914c9159a434586
4
+ data.tar.gz: 2c535dab1285dbfca062296c9e48eae474dec800
5
5
  SHA512:
6
- metadata.gz: 082090eed9257eba8a109a307654e5a322169282f49af77b86fff67c8ebf9bcc415cd633b77aae6d73ab9e8a664e7b6c3986490d239db90abc11040a16d398c2
7
- data.tar.gz: 74e075d3bbc8b07d1665127eccff9ff4665e13622478821e3f32814da5529b0b49276b8a9f7c185c264ea8eb0a387a88b2298c4bf24f29886d6c0ae836314858
6
+ metadata.gz: 3a474f5bc0c6777eea128984dc93e8c963ddfbaa2984c63dec23599ab6f081c1aa1016e77ffb24570908326b051fc31c3058dbb192b3c732d7078e116fd63a84
7
+ data.tar.gz: aa5c167584f598d0c53508fa40575c52a824846dc5d95fce02034d277195f205384df56bcb084efa597ea58d0b7a9a3aac8b5be5b9433368eb84e091a7f7363e
data/README.md CHANGED
@@ -62,8 +62,13 @@ class YourWorker
62
62
  track_rejected: false, # false by default, see above
63
63
  # Restrict the scope of the limit via job params
64
64
  # `key` is called with the same arguments as perform
65
- key: ->(user_id) {
66
- "user_#{ user_id }_unique_job_identifier"
65
+ key: ->(user) {
66
+ "user_#{ user.id }_unique_job_identifier"
67
+ },
68
+ # Conditionally enable/disable the limit
69
+ # returning false will bypass the limit
70
+ enabled: ->(user) {
71
+ !user.admin?
67
72
  }
68
73
  }
69
74
 
@@ -18,7 +18,7 @@ module Sidekiq
18
18
  end
19
19
 
20
20
  def enabled?
21
- !!options
21
+ !!options && _enabled?
22
22
  end
23
23
 
24
24
  def reschedule?
@@ -46,6 +46,17 @@ module Sidekiq
46
46
 
47
47
  protected
48
48
 
49
+ def _enabled?
50
+ case options[:enabled]
51
+ when Proc
52
+ options[:enabled].call *args
53
+ when nil
54
+ true
55
+ else
56
+ !!options[:enabled]
57
+ end
58
+ end
59
+
49
60
  def rejection_method
50
61
  options.fetch(:reject_with, :reschedule).to_sym
51
62
  end
@@ -1,5 +1,5 @@
1
1
  module Sidekiq
2
2
  module Congestion
3
- VERSION = '0.0.3'
3
+ VERSION = '0.0.4'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sidekiq-congestion
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Parrish
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-09-16 00:00:00.000000000 Z
11
+ date: 2015-12-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: congestion