sidekiq-rate-limiter 0.1.2 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: da0ce704c9994a18ca7c39d7538a5ae94c39077b13cbb778268852257b6a3f32
4
- data.tar.gz: cfef0d3b9cbd392603bdcc7e7f2110f10a91714623968dc058c425efc7ec871f
3
+ metadata.gz: eaf0f64591b7ddcbba0d15b889fdfbe2b639cce8b112a8be3e92ec9cac2dc07e
4
+ data.tar.gz: fbfadc77f1bf676221b3e8c268a4ac60d4a19bc55e3a22a74c2084b9e62c3ee2
5
5
  SHA512:
6
- metadata.gz: facff020ca688b54a9ce5b294b14f5f7a931c45efb9af22cbfbbb7c1d85c772697e076220ae17e7b6a249adf9c1f4c024de670072e15d8b520a799e15907babf
7
- data.tar.gz: fa1f1d598646e7601bd505cf6c5dab9979ae2bd3b39fb14e93d32c248036ef044ab1125d5f5e2e35dfbe70eb7f0d6869fc4fa2a1130fde06eba1f6a40cb94162
6
+ metadata.gz: 00bf480916d2764f62e2e96b377573bcfe266c05c95d8a395f5b1293c84d3122f11355fa311c9af019fc50b07ae4228c51e06e4ded5dcb571c040b158d5fb6b3
7
+ data.tar.gz: 2907155a2a62408dcb3e1e928669588bd269057215de35cbe41782ee130e514823ff9fdc618f6b132484151bf8ca652360b213c0eaf398fb20b0ff815e235570
@@ -0,0 +1,48 @@
1
+ name: Test
2
+
3
+ on:
4
+ push:
5
+ branches: [ main ]
6
+ pull_request:
7
+
8
+ jobs:
9
+ test:
10
+ runs-on: ubuntu-latest
11
+
12
+ strategy:
13
+ matrix:
14
+ ruby-version: ['3.1', '2.7']
15
+ sidekiq-version: ['4', '5', '6.0', '6.1', '6.x']
16
+
17
+ steps:
18
+ - uses: actions/checkout@v3
19
+
20
+ - name: Set up Ruby ${{ matrix.ruby-version }}
21
+ uses: ruby/setup-ruby@359bebbc29cbe6c87da6bc9ea3bc930432750108
22
+ with:
23
+ ruby-version: ${{ matrix.ruby-version }}
24
+
25
+ - name: Install dependencies
26
+ run: bundle install --gemfile=gemfiles/sidekiq_${{ matrix.sidekiq-version }}.gemfile
27
+
28
+ - name: Start Redis
29
+ uses: supercharge/redis-github-action@1.5.0
30
+
31
+ - name: Run tests
32
+ run: bundle exec --gemfile=gemfiles/sidekiq_${{ matrix.sidekiq-version }}.gemfile rspec
33
+
34
+ - name: Coveralls
35
+ uses: coverallsapp/github-action@v1
36
+ with:
37
+ flag-name: run-${{ join(matrix.*, '-') }}
38
+ parallel: true
39
+
40
+ finish:
41
+ needs: test
42
+ if: ${{ always() }}
43
+ runs-on: ubuntu-latest
44
+ steps:
45
+ - name: Coveralls Finished
46
+ uses: coverallsapp/github-action@v1
47
+ with:
48
+ parallel-finished: true
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 2.7.6
data/CHANGELOG.md CHANGED
@@ -1,3 +1,22 @@
1
+ ## 0.2.0 (Mar 1, 2023)
2
+
3
+ * Upstream fix for sidekiq 6.5.0 [#43, thanks to 5minpause]
4
+ * Add support for new Sidekiq's configuration model [#42, thanks to anero]
5
+ * gemspec: Drop defunct property rubyforge_project [#37, thanks to olleolleolle]
6
+
7
+ ## 0.1.3 (Oct 15, 2019)
8
+
9
+ * Fix errors when using with redis-rb > 4.1.0 [#30, #31]
10
+
11
+ ## 0.1.2 (Jul 5, 2018)
12
+
13
+ * Add (provisional) Sidekiq 5 support
14
+
15
+ ## 0.1.1 (Feb 15, 2016)
16
+
17
+ * Add Sidekiq 4 support
18
+ * Drop Ruby 1.9 support
19
+
1
20
  ## 0.1.0 (May 30, 2014)
2
21
 
3
22
  * Support callables for all configuration options
data/README.md CHANGED
@@ -2,18 +2,17 @@ sidekiq-rate-limiter
2
2
  ====================
3
3
 
4
4
  [![Gem Version](https://badge.fury.io/rb/sidekiq-rate-limiter.svg)](https://rubygems.org/gems/sidekiq-rate-limiter)
5
- [![Build Status](https://secure.travis-ci.org/enova/sidekiq-rate-limiter.svg?branch=master)](http://travis-ci.org/enova/sidekiq-rate-limiter)
5
+ [![Test Status](https://github.com/enova/sidekiq-rate-limiter/actions/workflows/test.yml/badge.svg)](https://github.com/enova/sidekiq-rate-limiter/actions/workflows/test.yml)
6
6
  [![Coverage Status](https://coveralls.io/repos/github/enova/sidekiq-rate-limiter/badge.svg?branch=master)](https://coveralls.io/github/enova/sidekiq-rate-limiter?branch=master)
7
- [![Dependency Status](https://gemnasium.com/enova/sidekiq-rate-limiter.svg)](https://gemnasium.com/enova/sidekiq-rate-limiter)
8
7
 
9
8
  Redis-backed, per-worker rate limits for job processing.
10
9
 
11
10
  ## Compatibility
12
11
 
13
- sidekiq-rate-limiter is actively tested against MRI versions 2.1, 2.2, and 2.3.
12
+ sidekiq-rate-limiter is actively tested against MRI versions 2.7 and 3.1.
14
13
 
15
14
  sidekiq-rate-limiter works by using a custom fetch class, the class responsible
16
- for pulling work from the queue stored in redis. Consequently you'll want to be
15
+ for pulling work from the queue stored in Redis. Consequently you'll want to be
17
16
  careful about using other gems that use a same strategy, [sidekiq-priority](https://github.com/socialpandas/sidekiq-priority)
18
17
  being one example.
19
18
 
@@ -32,7 +31,7 @@ class MyWorker
32
31
  end
33
32
  ```
34
33
 
35
- Then you wouldn't need to change anything.
34
+ Then you wouldn't need to change anything.
36
35
 
37
36
  ## Installation
38
37
 
@@ -60,12 +59,14 @@ require 'sidekiq-rate-limiter/server'
60
59
 
61
60
  Or, if you prefer, amend your Gemfile like so:
62
61
 
63
- gem 'sidekiq-rate-limiter', :require => 'sidekiq-rate-limiter/server'
62
+ ```ruby
63
+ gem 'sidekiq-rate-limiter', require: 'sidekiq-rate-limiter/server'
64
+ ```
64
65
 
65
- By default the limiter uses the name 'sidekiq-rate-limiter'. You can define the
66
- constant ```Sidekiq::RateLimiter::DEFAULT_LIMIT_NAME``` prior to requiring to
67
- change this. Alternatively, you can include a 'name' parameter in the configuration
68
- hash included in sidekiq_options
66
+ By default the limiter uses the name `sidekiq-rate-limiter`. You can define the
67
+ constant `Sidekiq::RateLimiter::DEFAULT_LIMIT_NAME` prior to requiring to
68
+ change this. Alternatively, you can include a `name` parameter in the configuration
69
+ hash included in `sidekiq_options`
69
70
 
70
71
  For example, the following:
71
72
 
@@ -73,11 +74,11 @@ For example, the following:
73
74
  class Job
74
75
  include Sidekiq::Worker
75
76
 
76
- sidekiq_options :queue => 'some_silly_queue',
77
- :rate => {
78
- :name => 'my_super_awesome_rate_limit',
79
- :limit => 50,
80
- :period => 3600, ## An hour
77
+ sidekiq_options queue: 'some_silly_queue',
78
+ rate: {
79
+ name: 'my_super_awesome_rate_limit',
80
+ limit: 50,
81
+ period: 3600, ## An hour
81
82
  }
82
83
 
83
84
  def perform(*args)
@@ -86,7 +87,7 @@ For example, the following:
86
87
  ```
87
88
 
88
89
  The configuration above would result in any jobs beyond the first 50 in a one
89
- hour period being delayed. The server will continue to fetch items from redis, &
90
+ hour period being delayed. The server will continue to fetch items from Redis, &
90
91
  will place any items that are beyond the threshold at the back of their queue.
91
92
 
92
93
  ### Dynamic Configuration
@@ -99,11 +100,11 @@ The `Proc` may receive as its arguments the same values that will be passed to `
99
100
  class Job
100
101
  include Sidekiq::Worker
101
102
 
102
- sidekiq_options :queue => "my_queue",
103
- :rate => {
104
- :name => ->(user_id, rate_limit) { user_id },
105
- :limit => ->(user_id, rate_limit) { rate_limit },
106
- :period => ->{ Date.today.monday? ? 2.hours : 4.hours }, # can ignore arguments
103
+ sidekiq_options queue: "my_queue",1
104
+ rate: {
105
+ name: ->(user_id, rate_limit) { user_id },
106
+ limit: ->(user_id, rate_limit) { rate_limit },
107
+ period: ->{ Date.today.monday? ? 2.hours : 4.hours }, # can ignore arguments
107
108
  }
108
109
 
109
110
  def perform(user_id, rate_limit)
@@ -120,9 +121,9 @@ limited multiple times are counted as 'processed' each time, so the stats balloo
120
121
 
121
122
  ## TODO
122
123
 
123
- * While it subclasses instead of monkey patching, setting Sidekiq.options[:fetch]
124
+ * While it subclasses instead of monkey patching, setting `Sidekiq.options[:fetch]`
124
125
  is still asking for interaction issues. It would be better for this to be directly
125
- in sidekiq or to use some other means to accomplish this goal.
126
+ in Sidekiq or to use some other means to accomplish this goal.
126
127
 
127
128
  ## Contributing
128
129
 
@@ -1,5 +1,5 @@
1
1
  source "https://rubygems.org"
2
2
 
3
- gem 'sidekiq', '~> 2.0'
3
+ gem 'sidekiq', '~> 5.0'
4
4
 
5
5
  gemspec path: '../'
@@ -1,5 +1,5 @@
1
1
  source "https://rubygems.org"
2
2
 
3
- gem 'sidekiq', '~> 3.0'
3
+ gem 'sidekiq', '~> 6.0.0'
4
4
 
5
5
  gemspec path: '../'
@@ -0,0 +1,5 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem 'sidekiq', '~> 6.1.0'
4
+
5
+ gemspec path: '../'
@@ -0,0 +1,5 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem 'sidekiq', '~> 6.5.8'
4
+
5
+ gemspec path: '../'
@@ -1,5 +1,4 @@
1
1
  require 'sidekiq'
2
- require 'celluloid' if Sidekiq::VERSION < "4"
3
2
  require 'sidekiq/fetch'
4
3
  require 'redis_rate_limiter'
5
4
 
@@ -27,7 +26,7 @@ module Sidekiq::RateLimiter
27
26
 
28
27
  options = {
29
28
  :limit => (limit.respond_to?(:call) ? limit.call(*args) : limit).to_i,
30
- :interval => (interval.respond_to?(:call) ? interval.call(*args) : interval).to_f,
29
+ :interval => (interval.respond_to?(:call) ? interval.call(*args) : interval).to_i,
31
30
  :name => (name.respond_to?(:call) ? name.call(*args) : name).to_s,
32
31
  }
33
32
 
@@ -90,7 +89,7 @@ module Sidekiq::RateLimiter
90
89
  worker_class = @message['class']
91
90
  options = Object.const_get(worker_class).get_sidekiq_options rescue {}
92
91
  server_rate = options['rate'] || options['throttle'] || {}
93
- @server_rate = server_rate.stringify_keys
92
+ @server_rate = server_rate.map { |k, v| [k.to_s, v] }.to_h
94
93
  end
95
94
  end
96
95
 
@@ -2,5 +2,12 @@ require 'sidekiq-rate-limiter/version'
2
2
  require 'sidekiq-rate-limiter/fetch'
3
3
 
4
4
  Sidekiq.configure_server do |config|
5
- Sidekiq.options[:fetch] = Sidekiq::RateLimiter::Fetch
5
+ # Backwards compatibility for Sidekiq < 6.1.0 (see https://github.com/mperham/sidekiq/pull/4602 for details)
6
+ if (Sidekiq::BasicFetch.respond_to?(:bulk_requeue))
7
+ Sidekiq.options[:fetch] = Sidekiq::RateLimiter::Fetch
8
+ elsif (Sidekiq::VERSION < '6.5.0') # Sidekiq config was redesigned in https://github.com/mperham/sidekiq/pull/5340
9
+ Sidekiq.options[:fetch] = Sidekiq::RateLimiter::Fetch.new(Sidekiq.options)
10
+ else
11
+ Sidekiq[:fetch] = Sidekiq::RateLimiter::Fetch.new(Sidekiq)
12
+ end
6
13
  end
@@ -1,5 +1,5 @@
1
1
  module Sidekiq
2
2
  module RateLimiter
3
- VERSION = "0.1.2"
3
+ VERSION = "0.2.0"
4
4
  end
5
5
  end
@@ -13,7 +13,6 @@ Gem::Specification.new do |s|
13
13
  s.homepage = "https://github.com/enova/sidekiq-rate-limiter"
14
14
  s.summary = %q{Redis-backed, per-worker rate limits for job processing}
15
15
  s.description = %q{Redis-backed, per-worker rate limits for job processing}
16
- s.rubyforge_project = "nowarning"
17
16
 
18
17
  s.files = `git ls-files`.split("\n")
19
18
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
@@ -24,8 +23,9 @@ Gem::Specification.new do |s|
24
23
  s.add_development_dependency "pry-byebug"
25
24
  s.add_development_dependency "rake"
26
25
  s.add_development_dependency "rspec", '~> 3.4'
27
- s.add_development_dependency "coveralls", '~> 0.8'
26
+ s.add_development_dependency "simplecov"
27
+ s.add_development_dependency "simplecov-lcov", '~> 0.8.0'
28
28
 
29
- s.add_dependency "sidekiq", ">= 2.0", "< 6.0"
29
+ s.add_dependency "sidekiq", ">= 4.0", "< 7.0"
30
30
  s.add_dependency "redis_rate_limiter"
31
31
  end
@@ -27,7 +27,14 @@ RSpec.describe Sidekiq::RateLimiter::Fetch do
27
27
  end
28
28
  end
29
29
 
30
- let(:options) { { queues: [queue, another_queue, another_queue] } }
30
+ let(:options) do
31
+ if Sidekiq::VERSION =~ /^(4|5|6\.[0-4])/
32
+ { queues: [queue, another_queue, another_queue] }
33
+ else
34
+ Sidekiq.tap { |s| s[:queues] = [queue, another_queue, another_queue] }
35
+ end
36
+ end
37
+
31
38
  let(:queue) { 'basic' }
32
39
  let(:another_queue) { 'some_other_queue' }
33
40
  let(:args) { ['I am some args'] }
@@ -46,8 +53,13 @@ RSpec.describe Sidekiq::RateLimiter::Fetch do
46
53
  else
47
54
  Sidekiq::Fetcher::TIMEOUT
48
55
  end
56
+
57
+ if Sidekiq::VERSION.start_with?('6.5.')
58
+ _timeout = { timeout: timeout}
59
+ timeout = _timeout
60
+ end
49
61
 
50
- fetch = described_class.new options.merge(:strict => true)
62
+ fetch = described_class.new options.merge!(:strict => true)
51
63
  expect(fetch.queues_cmd).to eql(["queue:#{queue}", "queue:#{another_queue}", timeout])
52
64
  end
53
65
 
@@ -8,13 +8,21 @@ RSpec.describe Sidekiq::RateLimiter, 'server configuration' do
8
8
 
9
9
  it 'should set Sidekiq.options[:fetch] as desired' do
10
10
  Sidekiq.configure_server do |config|
11
- expect(Sidekiq.options[:fetch]).to eql(Sidekiq::RateLimiter::Fetch)
11
+ if Sidekiq::VERSION =~ /^(4|5|6.0)/
12
+ expect(Sidekiq.options[:fetch]).to eql(Sidekiq::RateLimiter::Fetch)
13
+ else
14
+ expect(Sidekiq.options[:fetch]).to be_a(Sidekiq::RateLimiter::Fetch)
15
+ end
12
16
  end
13
17
  end
14
18
 
15
19
  it 'should inherit from Sidekiq::BasicFetch' do
16
20
  Sidekiq.configure_server do |config|
17
- expect(Sidekiq.options[:fetch]).to be < Sidekiq::BasicFetch
21
+ if Sidekiq::VERSION =~ /^(4|5|6.0)/
22
+ expect(Sidekiq.options[:fetch]).to be < Sidekiq::BasicFetch
23
+ else
24
+ expect(Sidekiq.options[:fetch].class.ancestors[1]).to be(Sidekiq::BasicFetch)
25
+ end
18
26
  end
19
27
  end
20
28
  end
data/spec/spec_helper.rb CHANGED
@@ -1,35 +1,11 @@
1
1
  require 'sidekiq'
2
2
  require 'sidekiq/testing'
3
-
4
- ## Confirming presence of redis server executable
5
- abort "## `redis-server` not in path" if %x(which redis-server).empty?
6
- redis_dir = "#{File.dirname(__FILE__)}/support/redis"
7
-
8
- ## Redis configuration
9
- REDIS_CONFIG = <<-CONF
10
- daemonize yes
11
- pidfile #{redis_dir}/test.pid
12
- port 6380
13
- timeout 300
14
- save 900 1
15
- save 300 10
16
- save 60 10000
17
- dbfilename test.rdb
18
- dir #{redis_dir}
19
- loglevel warning
20
- logfile stdout
21
- databases 1
22
- CONF
23
-
24
- %x(echo '#{REDIS_CONFIG}' > #{redis_dir}/test.conf)
25
- redis_command = "redis-server #{redis_dir}/test.conf"
26
- %x[ #{redis_command} ]
27
- ##
3
+ require 'pry-byebug'
28
4
 
29
5
  ## Configuring sidekiq
30
6
  options = {
31
7
  logger: nil,
32
- redis: { :url => "redis://localhost:6380/0" }
8
+ redis: { url: ENV.fetch('REDIS_URL', 'redis://localhost:6379/0') }
33
9
  }
34
10
 
35
11
  Sidekiq.configure_client do |config|
@@ -43,12 +19,27 @@ Sidekiq.configure_server do |config|
43
19
  config.send("#{option}=", value)
44
20
  end
45
21
  end
46
- ##
47
22
 
23
+
24
+ ## Code Coverage
48
25
  require 'simplecov'
49
26
 
27
+ SimpleCov.start do
28
+ if ENV['CI']
29
+ require 'simplecov-lcov'
30
+
31
+ SimpleCov::Formatter::LcovFormatter.config do |c|
32
+ c.report_with_single_file = true
33
+ c.single_report_path = 'coverage/lcov.info'
34
+ end
35
+
36
+ formatter SimpleCov::Formatter::LcovFormatter
37
+ end
38
+
39
+ add_filter %w[version.rb spec/]
40
+ end
41
+
50
42
  require File.expand_path("../../lib/sidekiq-rate-limiter", __FILE__)
51
- ##
52
43
 
53
44
  ## Hook to set Sidekiq::Testing mode using rspec tags
54
45
  RSpec.configure do |config|
@@ -76,18 +67,5 @@ RSpec.configure do |config|
76
67
  elsif Sidekiq::Testing.fake?
77
68
  Sidekiq::Worker.clear_all
78
69
  end
79
-
80
- end
81
-
82
- config.after(:all) do
83
- ## Stopping Redis
84
- ps = %x(ps -A -o pid,command | grep '#{redis_command}' | grep -v grep).split($/)
85
- pids = ps.map { |p| p.split(/\s+/).reject(&:empty?).first.to_i }
86
- pids.each { |pid| Process.kill("TERM", pid) }
87
-
88
- ## Cleaning up
89
- sleep 0.1
90
- %x(rm -rf #{redis_dir}/*)
91
70
  end
92
71
  end
93
- ##
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sidekiq-rate-limiter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Docady
8
8
  - Blake Thomas
9
9
  - Enova
10
- autorequire:
10
+ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2018-07-05 00:00:00.000000000 Z
13
+ date: 2023-03-01 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: pry
@@ -69,39 +69,53 @@ dependencies:
69
69
  - !ruby/object:Gem::Version
70
70
  version: '3.4'
71
71
  - !ruby/object:Gem::Dependency
72
- name: coveralls
72
+ name: simplecov
73
+ requirement: !ruby/object:Gem::Requirement
74
+ requirements:
75
+ - - ">="
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ type: :development
79
+ prerelease: false
80
+ version_requirements: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - ">="
83
+ - !ruby/object:Gem::Version
84
+ version: '0'
85
+ - !ruby/object:Gem::Dependency
86
+ name: simplecov-lcov
73
87
  requirement: !ruby/object:Gem::Requirement
74
88
  requirements:
75
89
  - - "~>"
76
90
  - !ruby/object:Gem::Version
77
- version: '0.8'
91
+ version: 0.8.0
78
92
  type: :development
79
93
  prerelease: false
80
94
  version_requirements: !ruby/object:Gem::Requirement
81
95
  requirements:
82
96
  - - "~>"
83
97
  - !ruby/object:Gem::Version
84
- version: '0.8'
98
+ version: 0.8.0
85
99
  - !ruby/object:Gem::Dependency
86
100
  name: sidekiq
87
101
  requirement: !ruby/object:Gem::Requirement
88
102
  requirements:
89
103
  - - ">="
90
104
  - !ruby/object:Gem::Version
91
- version: '2.0'
105
+ version: '4.0'
92
106
  - - "<"
93
107
  - !ruby/object:Gem::Version
94
- version: '6.0'
108
+ version: '7.0'
95
109
  type: :runtime
96
110
  prerelease: false
97
111
  version_requirements: !ruby/object:Gem::Requirement
98
112
  requirements:
99
113
  - - ">="
100
114
  - !ruby/object:Gem::Version
101
- version: '2.0'
115
+ version: '4.0'
102
116
  - - "<"
103
117
  - !ruby/object:Gem::Version
104
- version: '6.0'
118
+ version: '7.0'
105
119
  - !ruby/object:Gem::Dependency
106
120
  name: redis_rate_limiter
107
121
  requirement: !ruby/object:Gem::Requirement
@@ -123,18 +137,20 @@ executables: []
123
137
  extensions: []
124
138
  extra_rdoc_files: []
125
139
  files:
140
+ - ".github/workflows/test.yml"
126
141
  - ".gitignore"
127
142
  - ".rspec"
128
- - ".simplecov"
129
- - ".travis.yml"
143
+ - ".ruby-version"
130
144
  - CHANGELOG.md
131
145
  - Gemfile
132
146
  - LICENSE
133
147
  - README.md
134
148
  - Rakefile
135
- - gemfiles/sidekiq_2.gemfile
136
- - gemfiles/sidekiq_3.gemfile
137
149
  - gemfiles/sidekiq_4.gemfile
150
+ - gemfiles/sidekiq_5.gemfile
151
+ - gemfiles/sidekiq_6.0.gemfile
152
+ - gemfiles/sidekiq_6.1.gemfile
153
+ - gemfiles/sidekiq_6.x.gemfile
138
154
  - lib/sidekiq-rate-limiter.rb
139
155
  - lib/sidekiq-rate-limiter/fetch.rb
140
156
  - lib/sidekiq-rate-limiter/server.rb
@@ -148,7 +164,7 @@ homepage: https://github.com/enova/sidekiq-rate-limiter
148
164
  licenses:
149
165
  - MIT
150
166
  metadata: {}
151
- post_install_message:
167
+ post_install_message:
152
168
  rdoc_options: []
153
169
  require_paths:
154
170
  - lib
@@ -163,9 +179,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
163
179
  - !ruby/object:Gem::Version
164
180
  version: '0'
165
181
  requirements: []
166
- rubyforge_project: nowarning
167
- rubygems_version: 2.7.7
168
- signing_key:
182
+ rubygems_version: 3.1.6
183
+ signing_key:
169
184
  specification_version: 4
170
185
  summary: Redis-backed, per-worker rate limits for job processing
171
- test_files: []
186
+ test_files:
187
+ - spec/sidekiq-rate-limiter/fetch_spec.rb
188
+ - spec/sidekiq-rate-limiter/server_spec.rb
189
+ - spec/spec_helper.rb
190
+ - spec/support/redis/.keep
data/.simplecov DELETED
@@ -1,6 +0,0 @@
1
- require 'coveralls'
2
-
3
- Coveralls.wear! do
4
- add_filter "vendor"
5
- add_filter "spec"
6
- end
data/.travis.yml DELETED
@@ -1,20 +0,0 @@
1
- language: ruby
2
- cache: bundler
3
- sudo: false
4
- rvm:
5
- - 2.3.0
6
- - 2.2.4
7
- - 2.1.8
8
-
9
- gemfile:
10
- - 'gemfiles/sidekiq_2.gemfile'
11
- - 'gemfiles/sidekiq_3.gemfile'
12
- - 'gemfiles/sidekiq_4.gemfile'
13
-
14
- deploy:
15
- provider: rubygems
16
- api_key:
17
- secure: "VX48kpd9UySMWSDMwjxaNZy14RW1usU7eFLGNeohjCzxUsCywn+mS5/IZHl56vDXWJp7JwnboDiIa74hGV86PcSEM7kr+DAZO33iCazMNTpoWDiH1iJfj0jZbO2rOvx0rGI9fGYcC9xfyKQ37hVb13Eo0bnKa0YX30HArnx7EFo="
18
- on:
19
- tags: true
20
- all_branches: true