sidekiq-unique-jobs 6.0.6 → 6.0.25

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of sidekiq-unique-jobs might be problematic. Click here for more details.

Files changed (113) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +768 -150
  3. data/README.md +123 -77
  4. data/bin/uniquejobs +2 -2
  5. data/lib/sidekiq-unique-jobs.rb +1 -1
  6. data/lib/sidekiq_unique_jobs/cli.rb +27 -12
  7. data/lib/sidekiq_unique_jobs/client/middleware.rb +8 -4
  8. data/lib/sidekiq_unique_jobs/constants.rb +29 -18
  9. data/lib/sidekiq_unique_jobs/digests.rb +34 -19
  10. data/lib/sidekiq_unique_jobs/job.rb +29 -0
  11. data/lib/sidekiq_unique_jobs/lock/base_lock.rb +14 -18
  12. data/lib/sidekiq_unique_jobs/lock/until_and_while_executing.rb +20 -4
  13. data/lib/sidekiq_unique_jobs/lock/until_executed.rb +7 -3
  14. data/lib/sidekiq_unique_jobs/lock/until_executing.rb +1 -1
  15. data/lib/sidekiq_unique_jobs/lock/until_expired.rb +1 -0
  16. data/lib/sidekiq_unique_jobs/lock/while_executing.rb +9 -3
  17. data/lib/sidekiq_unique_jobs/lock/while_executing_reject.rb +0 -8
  18. data/lib/sidekiq_unique_jobs/locksmith.rb +59 -32
  19. data/lib/sidekiq_unique_jobs/logging.rb +14 -0
  20. data/lib/sidekiq_unique_jobs/middleware.rb +26 -9
  21. data/lib/sidekiq_unique_jobs/normalizer.rb +1 -1
  22. data/lib/sidekiq_unique_jobs/on_conflict/raise.rb +1 -1
  23. data/lib/sidekiq_unique_jobs/on_conflict/reject.rb +3 -3
  24. data/lib/sidekiq_unique_jobs/on_conflict/replace.rb +7 -2
  25. data/lib/sidekiq_unique_jobs/on_conflict/strategy.rb +1 -1
  26. data/lib/sidekiq_unique_jobs/on_conflict.rb +12 -7
  27. data/lib/sidekiq_unique_jobs/options_with_fallback.rb +8 -8
  28. data/lib/sidekiq_unique_jobs/scripts.rb +38 -9
  29. data/lib/sidekiq_unique_jobs/server/middleware.rb +18 -6
  30. data/lib/sidekiq_unique_jobs/sidekiq_unique_ext.rb +1 -1
  31. data/lib/sidekiq_unique_jobs/sidekiq_unique_jobs.rb +88 -0
  32. data/lib/sidekiq_unique_jobs/sidekiq_worker_methods.rb +13 -4
  33. data/lib/sidekiq_unique_jobs/testing.rb +3 -3
  34. data/lib/sidekiq_unique_jobs/timeout/calculator.rb +2 -1
  35. data/lib/sidekiq_unique_jobs/timeout.rb +1 -1
  36. data/lib/sidekiq_unique_jobs/unique_args.rb +7 -4
  37. data/lib/sidekiq_unique_jobs/util.rb +8 -4
  38. data/lib/sidekiq_unique_jobs/version.rb +1 -1
  39. data/lib/sidekiq_unique_jobs/version_check.rb +95 -0
  40. data/lib/sidekiq_unique_jobs/web/helpers.rb +7 -6
  41. data/lib/sidekiq_unique_jobs/web/views/unique_digests.erb +4 -0
  42. data/lib/sidekiq_unique_jobs/web.rb +19 -12
  43. data/lib/sidekiq_unique_jobs.rb +33 -107
  44. data/lib/tasks/changelog.rake +23 -0
  45. data/redis/convert_legacy_lock.lua +13 -0
  46. data/redis/delete_by_digest.lua +10 -11
  47. data/redis/delete_job_by_digest.lua +6 -4
  48. data/redis/lock.lua +14 -10
  49. data/redis/unlock.lua +13 -11
  50. metadata +88 -108
  51. data/.codeclimate.yml +0 -35
  52. data/.csslintrc +0 -2
  53. data/.dockerignore +0 -4
  54. data/.editorconfig +0 -14
  55. data/.eslintignore +0 -1
  56. data/.eslintrc +0 -213
  57. data/.fasterer.yml +0 -23
  58. data/.github/ISSUE_TEMPLATE/bug_report.md +0 -31
  59. data/.github/ISSUE_TEMPLATE/feature_request.md +0 -17
  60. data/.gitignore +0 -26
  61. data/.reek.yml +0 -87
  62. data/.rspec +0 -2
  63. data/.rubocop.yml +0 -127
  64. data/.simplecov +0 -20
  65. data/.travis.yml +0 -49
  66. data/.yardopts +0 -7
  67. data/Appraisals +0 -25
  68. data/CODE_OF_CONDUCT.md +0 -74
  69. data/Gemfile +0 -24
  70. data/Guardfile +0 -55
  71. data/Rakefile +0 -12
  72. data/_config.yml +0 -1
  73. data/assets/unique_digests_1.png +0 -0
  74. data/assets/unique_digests_2.png +0 -0
  75. data/bin/bench +0 -20
  76. data/examples/another_unique_job.rb +0 -15
  77. data/examples/custom_queue_job.rb +0 -12
  78. data/examples/custom_queue_job_with_filter_method.rb +0 -13
  79. data/examples/custom_queue_job_with_filter_proc.rb +0 -16
  80. data/examples/expiring_job.rb +0 -12
  81. data/examples/inline_worker.rb +0 -12
  82. data/examples/just_a_worker.rb +0 -13
  83. data/examples/long_running_job.rb +0 -14
  84. data/examples/main_job.rb +0 -14
  85. data/examples/my_job.rb +0 -12
  86. data/examples/my_unique_job.rb +0 -15
  87. data/examples/my_unique_job_with_filter_method.rb +0 -21
  88. data/examples/my_unique_job_with_filter_proc.rb +0 -19
  89. data/examples/notify_worker.rb +0 -14
  90. data/examples/plain_class.rb +0 -13
  91. data/examples/simple_worker.rb +0 -15
  92. data/examples/spawn_simple_worker.rb +0 -12
  93. data/examples/test_class.rb +0 -9
  94. data/examples/unique_across_workers_job.rb +0 -20
  95. data/examples/unique_job_on_conflict_raise.rb +0 -14
  96. data/examples/unique_job_on_conflict_reject.rb +0 -14
  97. data/examples/unique_job_on_conflict_reschedule.rb +0 -14
  98. data/examples/unique_job_with_conditional_parameter.rb +0 -18
  99. data/examples/unique_job_with_filter_method.rb +0 -21
  100. data/examples/unique_job_with_nil_unique_args.rb +0 -20
  101. data/examples/unique_job_with_no_unique_args_method.rb +0 -16
  102. data/examples/unique_job_withthout_unique_args_parameter.rb +0 -18
  103. data/examples/unique_on_all_queues_job.rb +0 -16
  104. data/examples/until_and_while_executing_job.rb +0 -17
  105. data/examples/until_executed_2_job.rb +0 -24
  106. data/examples/until_executed_job.rb +0 -25
  107. data/examples/until_executing_job.rb +0 -11
  108. data/examples/until_expired_job.rb +0 -12
  109. data/examples/until_global_expired_job.rb +0 -12
  110. data/examples/while_executing_job.rb +0 -15
  111. data/examples/while_executing_reject_job.rb +0 -14
  112. data/examples/without_argument_job.rb +0 -13
  113. data/sidekiq-unique-jobs.gemspec +0 -42
data/.codeclimate.yml DELETED
@@ -1,35 +0,0 @@
1
- ---
2
- version: '2'
3
- plugins:
4
- bundler-audit:
5
- enabled: false
6
- duplication:
7
- enabled: true
8
- config:
9
- languages:
10
- - ruby
11
- flog:
12
- enabled: true
13
- fixme:
14
- enabled: true
15
- markdownlint:
16
- enabled: true
17
- reek:
18
- enabled: true
19
- config:
20
- file: .reek.yml
21
- rubocop:
22
- enabled: true
23
- channel: rubocop-0-57
24
- config:
25
- file: .rubocop.yml
26
- exclude_patterns:
27
- - Gemfile
28
- - "*.gemspec"
29
- - Appraisals
30
- - spec/**/*.rb
31
- - gemfiles/**/*
32
- - rails_example/**/*
33
- - redis/**/*
34
- - tmp/**/*
35
-
data/.csslintrc DELETED
@@ -1,2 +0,0 @@
1
- --exclude-exts=.min.css
2
- --ignore=adjoining-classes,box-model,ids,order-alphabetical,unqualified-attributes
data/.dockerignore DELETED
@@ -1,4 +0,0 @@
1
- .dockerignore
2
- .byebug_history
3
- log/*
4
- tmp/*
data/.editorconfig DELETED
@@ -1,14 +0,0 @@
1
- # This file is for unifying the coding style for different editors and IDEs
2
- # editorconfig.org
3
-
4
- root = true
5
-
6
- [*]
7
- charset = utf-8
8
- trim_trailing_whitespace = true
9
- insert_final_newline = true
10
- indent_style = space
11
- indent_size = 2
12
-
13
- [*.{md,slim,haml}]
14
- trim_trailing_whitespace = false
data/.eslintignore DELETED
@@ -1 +0,0 @@
1
- **/*{.,-}min.js
data/.eslintrc DELETED
@@ -1,213 +0,0 @@
1
- ecmaFeatures:
2
- modules: true
3
- jsx: true
4
-
5
- env:
6
- amd: true
7
- browser: true
8
- es6: true
9
- jquery: true
10
- node: true
11
-
12
- # http://eslint.org/docs/rules/
13
- rules:
14
- # Possible Errors
15
- comma-dangle: [2, never]
16
- no-cond-assign: 2
17
- no-console: 0
18
- no-constant-condition: 2
19
- no-control-regex: 2
20
- no-debugger: 2
21
- no-dupe-args: 2
22
- no-dupe-keys: 2
23
- no-duplicate-case: 2
24
- no-empty: 2
25
- no-empty-character-class: 2
26
- no-ex-assign: 2
27
- no-extra-boolean-cast: 2
28
- no-extra-parens: 0
29
- no-extra-semi: 2
30
- no-func-assign: 2
31
- no-inner-declarations: [2, functions]
32
- no-invalid-regexp: 2
33
- no-irregular-whitespace: 2
34
- no-negated-in-lhs: 2
35
- no-obj-calls: 2
36
- no-regex-spaces: 2
37
- no-sparse-arrays: 2
38
- no-unexpected-multiline: 2
39
- no-unreachable: 2
40
- use-isnan: 2
41
- valid-jsdoc: 0
42
- valid-typeof: 2
43
-
44
- # Best Practices
45
- accessor-pairs: 2
46
- block-scoped-var: 0
47
- complexity: [2, 6]
48
- consistent-return: 0
49
- curly: 0
50
- default-case: 0
51
- dot-location: 0
52
- dot-notation: 0
53
- eqeqeq: 2
54
- guard-for-in: 2
55
- no-alert: 2
56
- no-caller: 2
57
- no-case-declarations: 2
58
- no-div-regex: 2
59
- no-else-return: 0
60
- no-empty-label: 2
61
- no-empty-pattern: 2
62
- no-eq-null: 2
63
- no-eval: 2
64
- no-extend-native: 2
65
- no-extra-bind: 2
66
- no-fallthrough: 2
67
- no-floating-decimal: 0
68
- no-implicit-coercion: 0
69
- no-implied-eval: 2
70
- no-invalid-this: 0
71
- no-iterator: 2
72
- no-labels: 0
73
- no-lone-blocks: 2
74
- no-loop-func: 2
75
- no-magic-number: 0
76
- no-multi-spaces: 0
77
- no-multi-str: 0
78
- no-native-reassign: 2
79
- no-new-func: 2
80
- no-new-wrappers: 2
81
- no-new: 2
82
- no-octal-escape: 2
83
- no-octal: 2
84
- no-proto: 2
85
- no-redeclare: 2
86
- no-return-assign: 2
87
- no-script-url: 2
88
- no-self-compare: 2
89
- no-sequences: 0
90
- no-throw-literal: 0
91
- no-unused-expressions: 2
92
- no-useless-call: 2
93
- no-useless-concat: 2
94
- no-void: 2
95
- no-warning-comments: 0
96
- no-with: 2
97
- radix: 2
98
- vars-on-top: 0
99
- wrap-iife: 2
100
- yoda: 0
101
-
102
- # Strict
103
- strict: 0
104
-
105
- # Variables
106
- init-declarations: 0
107
- no-catch-shadow: 2
108
- no-delete-var: 2
109
- no-label-var: 2
110
- no-shadow-restricted-names: 2
111
- no-shadow: 0
112
- no-undef-init: 2
113
- no-undef: 0
114
- no-undefined: 0
115
- no-unused-vars: 0
116
- no-use-before-define: 0
117
-
118
- # Node.js and CommonJS
119
- callback-return: 2
120
- global-require: 2
121
- handle-callback-err: 2
122
- no-mixed-requires: 0
123
- no-new-require: 0
124
- no-path-concat: 2
125
- no-process-exit: 2
126
- no-restricted-modules: 0
127
- no-sync: 0
128
-
129
- # Stylistic Issues
130
- array-bracket-spacing: 0
131
- block-spacing: 0
132
- brace-style: 0
133
- camelcase: 0
134
- comma-spacing: 0
135
- comma-style: 0
136
- computed-property-spacing: 0
137
- consistent-this: 0
138
- eol-last: 0
139
- func-names: 0
140
- func-style: 0
141
- id-length: 0
142
- id-match: 0
143
- indent: 0
144
- jsx-quotes: 0
145
- key-spacing: 0
146
- linebreak-style: 0
147
- lines-around-comment: 0
148
- max-depth: 0
149
- max-len: 0
150
- max-nested-callbacks: 0
151
- max-params: 0
152
- max-statements: [2, 30]
153
- new-cap: 0
154
- new-parens: 0
155
- newline-after-var: 0
156
- no-array-constructor: 0
157
- no-bitwise: 0
158
- no-continue: 0
159
- no-inline-comments: 0
160
- no-lonely-if: 0
161
- no-mixed-spaces-and-tabs: 0
162
- no-multiple-empty-lines: 0
163
- no-negated-condition: 0
164
- no-nested-ternary: 0
165
- no-new-object: 0
166
- no-plusplus: 0
167
- no-restricted-syntax: 0
168
- no-spaced-func: 0
169
- no-ternary: 0
170
- no-trailing-spaces: 0
171
- no-underscore-dangle: 0
172
- no-unneeded-ternary: 0
173
- object-curly-spacing: 0
174
- one-var: 0
175
- operator-assignment: 0
176
- operator-linebreak: 0
177
- padded-blocks: 0
178
- quote-props: 0
179
- quotes: 0
180
- require-jsdoc: 0
181
- semi-spacing: 0
182
- semi: 0
183
- sort-vars: 0
184
- space-after-keywords: 0
185
- space-before-blocks: 0
186
- space-before-function-paren: 0
187
- space-before-keywords: 0
188
- space-in-parens: 0
189
- space-infix-ops: 0
190
- space-return-throw-case: 0
191
- space-unary-ops: 0
192
- spaced-comment: 0
193
- wrap-regex: 0
194
-
195
- # ECMAScript 6
196
- arrow-body-style: 0
197
- arrow-parens: 0
198
- arrow-spacing: 0
199
- constructor-super: 0
200
- generator-star-spacing: 0
201
- no-arrow-condition: 0
202
- no-class-assign: 0
203
- no-const-assign: 0
204
- no-dupe-class-members: 0
205
- no-this-before-super: 0
206
- no-var: 0
207
- object-shorthand: 0
208
- prefer-arrow-callback: 0
209
- prefer-const: 0
210
- prefer-reflect: 0
211
- prefer-spread: 0
212
- prefer-template: 0
213
- require-yield: 0
data/.fasterer.yml DELETED
@@ -1,23 +0,0 @@
1
- speedups:
2
- parallel_assignment: false
3
- rescue_vs_respond_to: true
4
- module_eval: true
5
- shuffle_first_vs_sample: true
6
- for_loop_vs_each: true
7
- each_with_index_vs_while: false
8
- map_flatten_vs_flat_map: true
9
- reverse_each_vs_reverse_each: true
10
- select_first_vs_detect: true
11
- sort_vs_sort_by: true
12
- fetch_with_argument_vs_block: true
13
- keys_each_vs_each_key: true
14
- hash_merge_bang_vs_hash_brackets: true
15
- block_vs_symbol_to_proc: true
16
- proc_call_vs_yield: true
17
- gsub_vs_tr: true
18
- select_last_vs_reverse_detect: true
19
- getter_vs_attr_reader: true
20
- setter_vs_attr_writer: true
21
-
22
- exclude_paths:
23
- - 'spec/**/*.rb'
@@ -1,31 +0,0 @@
1
- ---
2
- name: Bug report
3
- about: Create a report to help us improve
4
-
5
- ---
6
-
7
- **Describe the bug**
8
- A clear and concise description of what the bug is.
9
-
10
- **Expected behavior**
11
- A clear and concise description of what you expected to happen.
12
-
13
- **Current behavior**
14
- What happens instead of the expected behavior?
15
-
16
- **Worker class**
17
-
18
- ```ruby
19
- class MyWorker
20
- include Sidekiq::Worker
21
- sidekiq_options lock: :until_executed, queue: :undefault
22
- def perform(args); end
23
-
24
- def self.unique_args(args)
25
- # the way you consider unique arguments
26
- end
27
- end
28
- ```
29
-
30
- **Additional context**
31
- Add any other context about the problem here.
@@ -1,17 +0,0 @@
1
- ---
2
- name: Feature request
3
- about: Suggest an idea for this project
4
-
5
- ---
6
-
7
- **Is your feature request related to a problem? Please describe.**
8
- A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
9
-
10
- **Describe the solution you'd like**
11
- A clear and concise description of what you want to happen.
12
-
13
- **Describe alternatives you've considered**
14
- A clear and concise description of any alternative solutions or features you've considered.
15
-
16
- **Additional context**
17
- Add any other context or screenshots about the feature request here.
data/.gitignore DELETED
@@ -1,26 +0,0 @@
1
-
2
- *.gem
3
-
4
- .DS_Store
5
-
6
- Gemfile.lock
7
-
8
- .ruby-version
9
- .idea/
10
- gemfiles/*.lock
11
- *.sw?
12
- coverage/
13
- tmp/
14
- rails_example/spec/examples.txt
15
-
16
- *.sublime-*
17
-
18
- /sidekiq/
19
-
20
- .rspec_status
21
-
22
- /gemfiles/.bundle/
23
-
24
- /.byebug_history
25
-
26
- /.yardoc/
data/.reek.yml DELETED
@@ -1,87 +0,0 @@
1
- ---
2
- exclude_paths:
3
- - rails_example
4
- - redis
5
- - spec
6
- - tmp
7
- - gemfiles
8
- - examples
9
- detectors:
10
- DuplicateMethodCall:
11
- exclude:
12
- - Sidekiq#self.use_options
13
- - SidekiqUniqueJobs::Web#self.registered
14
- IrresponsibleModule:
15
- enabled: false
16
- LongParameterList:
17
- enabled: true
18
- exclude:
19
- - initialize
20
- - Hash#slice
21
- - SidekiqUniqueJobs::Locksmith#create_lock
22
- - SidekiqUniqueJobs::Locksmith#expire_when_necessary
23
- - SidekiqUniqueJobs::Client::Middleware#call
24
- TooManyStatements:
25
- exclude:
26
- - initialize
27
- - Hash#slice
28
- - SidekiqUniqueJobs::Locksmith#create_lock
29
- - SidekiqUniqueJobs::Locksmith#expire_when_necessary
30
- - SidekiqUniqueJobs::Middleware#configure_server_middleware
31
- - SidekiqUniqueJobs::Server::Middleware#call
32
- - SidekiqUniqueJobs::UniqueArgs#filtered_args
33
- - SidekiqUniqueJobs::Util#del
34
- - SidekiqUniqueJobs::Digests#batch_delete
35
- - SidekiqUniqueJobs::Digests#delete_by_pattern
36
- - SidekiqUniqueJobs::Web#self.registered
37
- UncommunicativeVariableName:
38
- exclude:
39
- - Hash#slice
40
- BooleanParameter:
41
- exclude:
42
- - SidekiqUniqueJobs::Cli#self.banner
43
- UtilityFunction:
44
- enabled: false
45
- TooManyConstants:
46
- exclude:
47
- - SidekiqUniqueJobs
48
- ManualDispatch:
49
- enabled: true
50
- exclude:
51
- - Hash#slice
52
- - Hash#slice!
53
- - SidekiqUniqueJobs::OnConflict::Reject#deadset_kill?
54
- - SidekiqUniqueJobs::SidekiqWorkerMethods#worker_method_defined?
55
- - SidekiqUniqueJobs::Web::Helpers#redirect_to
56
- MissingSafeMethod:
57
- exclude:
58
- - Array
59
- NilCheck:
60
- enabled: false
61
- DataClump:
62
- enabled: true
63
- exclude:
64
- - SidekiqUniqueJobs::Util
65
- FeatureEnvy:
66
- exclude:
67
- - SidekiqUniqueJobs::Digests#batch_delete
68
- - SidekiqUniqueJobs::Digests#page
69
- - SidekiqUniqueJobs::Logging#debug_item
70
- - SidekiqUniqueJobs::OnConflict::Reject#push_to_deadset
71
- - SidekiqUniqueJobs::Util#batch_delete
72
- - SidekiqUniqueJobs::Web::Helpers#cparams
73
- NestedIterators:
74
- exclude:
75
- - SidekiqUniqueJobs::Digests#batch_delete
76
- - SidekiqUniqueJobs::Locksmith#create_lock
77
- - SidekiqUniqueJobs::Middleware#configure_client_middleware
78
- - SidekiqUniqueJobs::Middleware#configure_server_middleware
79
- - SidekiqUniqueJobs::Util#batch_delete
80
- - SidekiqUniqueJobs::Util#keys_with_ttl
81
- TooManyInstanceVariables:
82
- exclude:
83
- - SidekiqUniqueJobs::Locksmith
84
- TooManyMethods:
85
- exclude:
86
- - SidekiqUniqueJobs::Locksmith
87
- - SidekiqUniqueJobs::Lock::BaseLock
data/.rspec DELETED
@@ -1,2 +0,0 @@
1
- --color
2
- --order random
data/.rubocop.yml DELETED
@@ -1,127 +0,0 @@
1
- require: rubocop-rspec
2
- AllCops:
3
- Include:
4
- - '**/Rakefile'
5
- - 'lib/**/*.rb'
6
- - 'bin/**/*.rb'
7
- - 'spec/**/*.rb'
8
- - 'examples/**/*.rb'
9
- Exclude:
10
- - 'Gemfile.lock'
11
- - 'gemfiles/**/*'
12
- TargetRubyVersion: 2.5
13
-
14
- Lint/HandleExceptions:
15
- Enabled: true
16
-
17
- Lint/UselessAssignment:
18
- Enabled: true
19
-
20
- Metrics/AbcSize:
21
- Max: 38
22
-
23
- Metrics/CyclomaticComplexity:
24
- Max: 7
25
-
26
- Metrics/LineLength:
27
- Max: 120
28
-
29
- Metrics/MethodLength:
30
- Max: 13
31
-
32
- Metrics/BlockLength:
33
- Enabled: true
34
- Exclude:
35
- - '**/spec/**/*.rb'
36
-
37
- Metrics/PerceivedComplexity:
38
- Max: 8
39
-
40
- Naming/AccessorMethodName:
41
- Enabled: true
42
-
43
- Naming/ConstantName:
44
- Enabled: true
45
-
46
- Naming/FileName:
47
- Enabled: true
48
- Exclude:
49
- - 'lib/sidekiq-unique-jobs.rb'
50
- - '**/Gemfile'
51
- - '**/Appraisals'
52
- - '**/*.gemspec'
53
-
54
- Naming/UncommunicativeMethodParamName:
55
- AllowedNames:
56
- - ex
57
-
58
- RSpec/DescribeClass:
59
- Enabled: false
60
-
61
- RSpec/ExampleLength:
62
- Enabled: false
63
-
64
- RSpec/ExpectActual:
65
- Enabled: false
66
-
67
- RSpec/ExpectChange:
68
- Enabled: false
69
-
70
- RSpec/ExpectInHook:
71
- Enabled: false
72
-
73
- RSpec/MessageSpies:
74
- Enabled: false
75
-
76
- RSpec/MultipleExpectations:
77
- Enabled: false
78
-
79
- RSpec/NestedGroups:
80
- Max: 4
81
- Enabled: true
82
-
83
- RSpec/RepeatedExample:
84
- Enabled: false
85
-
86
- Style/FrozenStringLiteralComment:
87
- Enabled: true
88
-
89
- Style/Documentation:
90
- Enabled: false
91
-
92
- Style/SignalException:
93
- EnforcedStyle: only_fail
94
- Enabled: false
95
-
96
- Style/GlobalVars:
97
- Enabled: true
98
-
99
- Style/StringLiterals:
100
- Enabled: true
101
- EnforcedStyle: single_quotes
102
- ConsistentQuotesInMultiline: true
103
-
104
- Style/StringLiteralsInInterpolation:
105
- Enabled: true
106
- EnforcedStyle: single_quotes
107
-
108
- Style/SymbolArray:
109
- Enabled: true
110
- EnforcedStyle: brackets
111
-
112
- Style/TernaryParentheses:
113
- Enabled: true
114
- EnforcedStyle: require_parentheses_when_complex
115
- AllowSafeAssignment: true
116
-
117
- Style/TrailingCommaInArguments:
118
- Enabled: true
119
- EnforcedStyleForMultiline: comma
120
-
121
- Style/TrailingCommaInArrayLiteral:
122
- Enabled: true
123
- EnforcedStyleForMultiline: comma
124
-
125
- Style/TrailingCommaInHashLiteral:
126
- Enabled: true
127
- EnforcedStyleForMultiline: comma
data/.simplecov DELETED
@@ -1,20 +0,0 @@
1
- require 'simplecov-json'
2
-
3
- SimpleCov.command_name 'RSpec'
4
- # SimpleCov.refuse_coverage_drop
5
- SimpleCov.formatters = [
6
- SimpleCov::Formatter::HTMLFormatter,
7
- SimpleCov::Formatter::JSONFormatter,
8
- ]
9
-
10
- SimpleCov.start do
11
- add_filter '/spec/'
12
- add_filter '/bin/'
13
- add_filter '/gemfiles/'
14
- add_filter '/examples/'
15
-
16
- add_group 'Client', 'lib/sidekiq_unique_jobs/client'
17
- add_group 'Locks', 'lib/sidekiq_unique_jobs/lock'
18
- add_group 'Server', 'lib/sidekiq_unique_jobs/server'
19
- add_group 'Timeout', 'lib/sidekiq_unique_jobs/timeout'
20
- end
data/.travis.yml DELETED
@@ -1,49 +0,0 @@
1
- env:
2
- matrix:
3
- - COV=false
4
- global:
5
- - CC_TEST_REPORTER_ID=88e524e8f638efe690def7a6e2c72b1a9db5cdfa74548921b734d609a5858ee5
6
- - GIT_COMMITTED_AT=$(if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then git log -1 --pretty=format:%ct; else git log -1 --skip 1 --pretty=format:%ct; fi)
7
- dist: trusty
8
- sudo: required
9
- language: ruby
10
- cache: bundler
11
-
12
- before_install:
13
- - sudo rm -rf /etc/apt/sources.list.d/rwky-redis.list
14
- - sudo add-apt-repository ppa:chris-lea/redis-server -y
15
- - sudo apt-get update -qy
16
- - sudo apt-get install redis-server
17
- - sudo service redis-server start
18
- - curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
19
- - chmod +x ./cc-test-reporter
20
- before_script:
21
- - ./cc-test-reporter before-build
22
- script:
23
- - if [[ "${COV}" = "true" ]]; then bundle exec rubocop -P; fi;
24
- - bundle exec rspec
25
- after_script:
26
- - if [[ "${COV}" = "true" ]]; then ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT; fi;
27
- rvm:
28
- - 2.5.1
29
- - 2.4.2
30
- - 2.3.2
31
- - jruby-9.2.0.0
32
- matrix:
33
- fast_finish: true
34
- include:
35
- - rvm: 2.5.1
36
- gemfile: gemfiles/sidekiq_develop.gemfile
37
- env: COV=true
38
- gemfile:
39
- - gemfiles/sidekiq_develop.gemfile
40
- - gemfiles/sidekiq_4.0.gemfile
41
- - gemfiles/sidekiq_4.1.gemfile
42
- - gemfiles/sidekiq_4.2.gemfile
43
- - gemfiles/sidekiq_5.0.gemfile
44
- - gemfiles/sidekiq_5.1.gemfile
45
-
46
- notifications:
47
- email:
48
- recipients:
49
- - mikael@zoolutions.se
data/.yardopts DELETED
@@ -1,7 +0,0 @@
1
- --no-private
2
- --exclude lib/sidekiq_unique_jobs/testing.rb
3
- --exclude lib/sidekiq_unique_jobs/sidekiq_unique_ext.rb
4
- --exclude lib/sidekiq_unique_jobs/middleware.rb
5
- --exclude lib/sidekiq_unique_jobs/core_ext.rb
6
- --exclude lib/sidekiq_unique_jobs/cli.rb
7
-
data/Appraisals DELETED
@@ -1,25 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- appraise 'sidekiq-develop' do
4
- gem 'sidekiq', git: 'https://github.com/mperham/sidekiq.git'
5
- end
6
-
7
- appraise 'sidekiq-4.0' do
8
- gem 'sidekiq', '~> 4.0.0'
9
- end
10
-
11
- appraise 'sidekiq-4.1' do
12
- gem 'sidekiq', '~> 4.1.0'
13
- end
14
-
15
- appraise 'sidekiq-4.2' do
16
- gem 'sidekiq', '~> 4.2.0'
17
- end
18
-
19
- appraise 'sidekiq-5.0' do
20
- gem 'sidekiq', '~> 5.0.0'
21
- end
22
-
23
- appraise 'sidekiq-5.1' do
24
- gem 'sidekiq', '~> 5.1.0'
25
- end