chewy 0.10.1 → 7.0.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 (162) hide show
  1. checksums.yaml +5 -5
  2. data/.circleci/config.yml +240 -0
  3. data/.github/ISSUE_TEMPLATE/bug_report.md +39 -0
  4. data/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
  5. data/.github/PULL_REQUEST_TEMPLATE.md +16 -0
  6. data/.rubocop.yml +25 -25
  7. data/Appraisals +12 -10
  8. data/CHANGELOG.md +312 -331
  9. data/CODE_OF_CONDUCT.md +14 -0
  10. data/CONTRIBUTING.md +63 -0
  11. data/Gemfile +5 -1
  12. data/LICENSE.txt +1 -1
  13. data/README.md +143 -77
  14. data/chewy.gemspec +10 -12
  15. data/gemfiles/{rails.4.2.mongoid.5.1.gemfile → rails.5.2.activerecord.gemfile} +6 -4
  16. data/gemfiles/{rails.4.2.activerecord.gemfile → rails.5.2.mongoid.6.4.gemfile} +6 -4
  17. data/gemfiles/{rails.4.0.activerecord.gemfile → rails.6.0.activerecord.gemfile} +6 -3
  18. data/gemfiles/rails.6.1.activerecord.gemfile +19 -0
  19. data/gemfiles/sequel.4.45.gemfile +2 -2
  20. data/lib/chewy.rb +2 -1
  21. data/lib/chewy/backports/duplicable.rb +1 -1
  22. data/lib/chewy/config.rb +10 -39
  23. data/lib/chewy/fields/base.rb +9 -3
  24. data/lib/chewy/fields/root.rb +13 -9
  25. data/lib/chewy/index.rb +3 -1
  26. data/lib/chewy/index/actions.rb +28 -16
  27. data/lib/chewy/index/aliases.rb +16 -5
  28. data/lib/chewy/index/settings.rb +2 -0
  29. data/lib/chewy/index/specification.rb +12 -10
  30. data/lib/chewy/minitest/helpers.rb +6 -6
  31. data/lib/chewy/minitest/search_index_receiver.rb +17 -17
  32. data/lib/chewy/multi_search.rb +62 -0
  33. data/lib/chewy/railtie.rb +3 -5
  34. data/lib/chewy/rake_helper.rb +5 -5
  35. data/lib/chewy/rspec/update_index.rb +3 -5
  36. data/lib/chewy/search.rb +4 -11
  37. data/lib/chewy/search/loader.rb +1 -1
  38. data/lib/chewy/search/pagination/will_paginate.rb +1 -1
  39. data/lib/chewy/search/parameters.rb +24 -6
  40. data/lib/chewy/search/parameters/allow_partial_search_results.rb +27 -0
  41. data/lib/chewy/search/parameters/concerns/query_storage.rb +4 -3
  42. data/lib/chewy/search/parameters/indices.rb +123 -0
  43. data/lib/chewy/search/parameters/none.rb +1 -3
  44. data/lib/chewy/search/request.rb +101 -74
  45. data/lib/chewy/search/scrolling.rb +7 -6
  46. data/lib/chewy/stash.rb +31 -22
  47. data/lib/chewy/strategy/active_job.rb +1 -1
  48. data/lib/chewy/strategy/atomic.rb +1 -1
  49. data/lib/chewy/strategy/sidekiq.rb +1 -1
  50. data/lib/chewy/type.rb +5 -2
  51. data/lib/chewy/type/adapter/active_record.rb +1 -1
  52. data/lib/chewy/type/adapter/base.rb +9 -9
  53. data/lib/chewy/type/adapter/mongoid.rb +2 -4
  54. data/lib/chewy/type/adapter/orm.rb +7 -4
  55. data/lib/chewy/type/adapter/sequel.rb +5 -7
  56. data/lib/chewy/type/crutch.rb +1 -1
  57. data/lib/chewy/type/import.rb +16 -5
  58. data/lib/chewy/type/import/bulk_builder.rb +1 -1
  59. data/lib/chewy/type/import/bulk_request.rb +4 -2
  60. data/lib/chewy/type/import/journal_builder.rb +3 -3
  61. data/lib/chewy/type/import/routine.rb +3 -3
  62. data/lib/chewy/type/mapping.rb +42 -36
  63. data/lib/chewy/type/observe.rb +16 -12
  64. data/lib/chewy/type/syncer.rb +6 -7
  65. data/lib/chewy/type/witchcraft.rb +5 -3
  66. data/lib/chewy/type/wrapper.rb +14 -4
  67. data/lib/chewy/version.rb +1 -1
  68. data/lib/sequel/plugins/chewy_observe.rb +4 -19
  69. data/migration_guide.md +34 -0
  70. data/spec/chewy/config_spec.rb +16 -21
  71. data/spec/chewy/fields/base_spec.rb +68 -70
  72. data/spec/chewy/fields/root_spec.rb +13 -13
  73. data/spec/chewy/index/actions_spec.rb +157 -38
  74. data/spec/chewy/index/aliases_spec.rb +3 -3
  75. data/spec/chewy/index/specification_spec.rb +25 -16
  76. data/spec/chewy/index_spec.rb +75 -45
  77. data/spec/chewy/journal_spec.rb +33 -29
  78. data/spec/chewy/minitest/search_index_receiver_spec.rb +11 -9
  79. data/spec/chewy/multi_search_spec.rb +85 -0
  80. data/spec/chewy/rake_helper_spec.rb +123 -95
  81. data/spec/chewy/rspec/update_index_spec.rb +47 -46
  82. data/spec/chewy/runtime_spec.rb +2 -2
  83. data/spec/chewy/search/parameters/indices_spec.rb +190 -0
  84. data/spec/chewy/search/parameters/none_spec.rb +1 -1
  85. data/spec/chewy/search/parameters_spec.rb +21 -4
  86. data/spec/chewy/search/request_spec.rb +103 -70
  87. data/spec/chewy/search/response_spec.rb +27 -17
  88. data/spec/chewy/search/scrolling_spec.rb +27 -17
  89. data/spec/chewy/search_spec.rb +49 -35
  90. data/spec/chewy/stash_spec.rb +15 -13
  91. data/spec/chewy/strategy/active_job_spec.rb +15 -2
  92. data/spec/chewy/strategy/shoryuken_spec.rb +8 -2
  93. data/spec/chewy/strategy/sidekiq_spec.rb +6 -2
  94. data/spec/chewy/type/adapter/active_record_spec.rb +16 -4
  95. data/spec/chewy/type/import/bulk_builder_spec.rb +9 -94
  96. data/spec/chewy/type/import/journal_builder_spec.rb +17 -15
  97. data/spec/chewy/type/import_spec.rb +15 -0
  98. data/spec/chewy/type/mapping_spec.rb +51 -18
  99. data/spec/chewy/type/observe_spec.rb +4 -4
  100. data/spec/chewy/type/witchcraft_spec.rb +15 -0
  101. data/spec/chewy/type/wrapper_spec.rb +3 -1
  102. data/spec/chewy_spec.rb +0 -7
  103. data/spec/spec_helper.rb +5 -1
  104. data/spec/support/active_record.rb +21 -0
  105. metadata +51 -116
  106. data/.travis.yml +0 -53
  107. data/LEGACY_DSL.md +0 -497
  108. data/gemfiles/rails.4.1.activerecord.gemfile +0 -14
  109. data/gemfiles/rails.5.0.activerecord.gemfile +0 -15
  110. data/gemfiles/rails.5.0.mongoid.6.0.gemfile +0 -15
  111. data/gemfiles/rails.5.1.activerecord.gemfile +0 -15
  112. data/gemfiles/rails.5.1.mongoid.6.1.gemfile +0 -15
  113. data/lib/chewy/query.rb +0 -1098
  114. data/lib/chewy/query/compose.rb +0 -68
  115. data/lib/chewy/query/criteria.rb +0 -191
  116. data/lib/chewy/query/filters.rb +0 -227
  117. data/lib/chewy/query/loading.rb +0 -111
  118. data/lib/chewy/query/nodes/and.rb +0 -25
  119. data/lib/chewy/query/nodes/base.rb +0 -17
  120. data/lib/chewy/query/nodes/bool.rb +0 -34
  121. data/lib/chewy/query/nodes/equal.rb +0 -34
  122. data/lib/chewy/query/nodes/exists.rb +0 -20
  123. data/lib/chewy/query/nodes/expr.rb +0 -28
  124. data/lib/chewy/query/nodes/field.rb +0 -110
  125. data/lib/chewy/query/nodes/has_child.rb +0 -15
  126. data/lib/chewy/query/nodes/has_parent.rb +0 -15
  127. data/lib/chewy/query/nodes/has_relation.rb +0 -59
  128. data/lib/chewy/query/nodes/match_all.rb +0 -11
  129. data/lib/chewy/query/nodes/missing.rb +0 -20
  130. data/lib/chewy/query/nodes/not.rb +0 -25
  131. data/lib/chewy/query/nodes/or.rb +0 -25
  132. data/lib/chewy/query/nodes/prefix.rb +0 -19
  133. data/lib/chewy/query/nodes/query.rb +0 -20
  134. data/lib/chewy/query/nodes/range.rb +0 -63
  135. data/lib/chewy/query/nodes/raw.rb +0 -15
  136. data/lib/chewy/query/nodes/regexp.rb +0 -35
  137. data/lib/chewy/query/nodes/script.rb +0 -20
  138. data/lib/chewy/query/pagination.rb +0 -25
  139. data/spec/chewy/query/criteria_spec.rb +0 -700
  140. data/spec/chewy/query/filters_spec.rb +0 -201
  141. data/spec/chewy/query/loading_spec.rb +0 -124
  142. data/spec/chewy/query/nodes/and_spec.rb +0 -12
  143. data/spec/chewy/query/nodes/bool_spec.rb +0 -14
  144. data/spec/chewy/query/nodes/equal_spec.rb +0 -32
  145. data/spec/chewy/query/nodes/exists_spec.rb +0 -18
  146. data/spec/chewy/query/nodes/has_child_spec.rb +0 -59
  147. data/spec/chewy/query/nodes/has_parent_spec.rb +0 -59
  148. data/spec/chewy/query/nodes/match_all_spec.rb +0 -11
  149. data/spec/chewy/query/nodes/missing_spec.rb +0 -16
  150. data/spec/chewy/query/nodes/not_spec.rb +0 -13
  151. data/spec/chewy/query/nodes/or_spec.rb +0 -12
  152. data/spec/chewy/query/nodes/prefix_spec.rb +0 -16
  153. data/spec/chewy/query/nodes/query_spec.rb +0 -12
  154. data/spec/chewy/query/nodes/range_spec.rb +0 -32
  155. data/spec/chewy/query/nodes/raw_spec.rb +0 -11
  156. data/spec/chewy/query/nodes/regexp_spec.rb +0 -43
  157. data/spec/chewy/query/nodes/script_spec.rb +0 -15
  158. data/spec/chewy/query/pagination/kaminari_spec.rb +0 -5
  159. data/spec/chewy/query/pagination/will_paginate_spec.rb +0 -5
  160. data/spec/chewy/query/pagination_spec.rb +0 -39
  161. data/spec/chewy/query_spec.rb +0 -636
  162. data/spec/chewy/search/parameters/indices_boost_spec.rb +0 -83
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: f9741190c8e67f2cf5a4ae0a7270eb7716884b70
4
- data.tar.gz: fc86af473569d271c43d3b39cd0f710234adae76
2
+ SHA256:
3
+ metadata.gz: c03ccd9ded0ee8f14a062ef7ed00604a2830b3a2d74ecc2dbdfacb6e2287ff69
4
+ data.tar.gz: 9d88e52adef73db5324a59d4f943cc8f870f7daac47fa23ace747f6bfd5e179a
5
5
  SHA512:
6
- metadata.gz: 50ee0a42f751e1aba5639b139e236056aa067f07524eb7d3d1c7bfc80f47b73ad8d7c9f5ae4df2cceda03d9b22d1896def3dc311c9f348e17bfec241bdb6102d
7
- data.tar.gz: bee6ca569f2568ab4c33f3fcc23ffca5e5cb121a1145a07e8dcb9f09a0d5333999e454f2ff220621b2aebaf14dc29a9ba4254e0e6cb0f195d8c83fd2d9a1a942
6
+ metadata.gz: 7f1b0e62272ebb745d544ebcaa35fe593874ddcbc56aac806907a0c72fa141a359af8f15887e9c4b7426dd92e289e66ded1e68963225ac0375c0009756d48ff3
7
+ data.tar.gz: d90b624d9cfddc6e3bdf2985e535e25471209ad40d203f6c29384ddcdfe36630d9a348ff3fa8b1cc37d93da194224905df179329765061e0d83a6b2ec4ed650c
@@ -0,0 +1,240 @@
1
+ # Check https://circleci.com/docs/2.0/language-ruby/ for more details
2
+ version: 2.1
3
+
4
+ es-env: &es-env
5
+ cluster.name: elasticsearch
6
+ transport.host: localhost
7
+ network.host: 127.0.0.1
8
+ http.port: 9250
9
+ discovery.type: single-node
10
+ xpack.security.enabled: false
11
+ xpack.monitoring.enabled: false
12
+
13
+ workflows:
14
+ build:
15
+ jobs:
16
+ - rubocop
17
+ - rspec-ruby-26-activerecord61
18
+ - rspec-ruby-26-activerecord60
19
+ - rspec-ruby-26-activerecord52
20
+ - rspec-ruby-26-mongoid
21
+ - rspec-ruby-27-activerecord61
22
+ - rspec-ruby-27-activerecord60
23
+ - rspec-ruby-27-activerecord52
24
+ - rspec-ruby-27-mongoid
25
+ - rspec-ruby-30-activerecord61
26
+ - rspec-ruby-27-activerecord61-es6
27
+ - rspec-ruby-30-activerecord61-es6
28
+
29
+ commands:
30
+ rspec-test:
31
+ description: Test rspec in current ruby
32
+ parameters:
33
+ pre-steps:
34
+ description: Necessary steps after checkout
35
+ type: steps
36
+ default: []
37
+ steps:
38
+ - checkout
39
+ - run:
40
+ name: ruby version
41
+ command: |
42
+ ruby -e "STDERR.puts RUBY_VERSION; puts RUBY_VERSION.gsub(/^(\d+)\.(\d+)\..*/, '\1_\2')" > .ruby.version
43
+ - run:
44
+ name: Gemfile.lock version
45
+ command: |
46
+ echo "$GEMFILE.lock" > .Gemfile.lock.path
47
+ - steps: << parameters.pre-steps >>
48
+ - restore_cache:
49
+ keys:
50
+ - dependencies-{{ checksum ".ruby.version" }}-{{ checksum ".Gemfile.lock.path" }}
51
+ - run:
52
+ name: install dependencies
53
+ command: |
54
+ bundle install --jobs=4 --retry=3 --path vendor/bundle --gemfile=$GEMFILE
55
+ - save_cache:
56
+ paths:
57
+ - ./vendor/bundle
58
+ key: dependencies-{{ checksum ".ruby.version" }}-{{ checksum ".Gemfile.lock.path" }}
59
+ - run:
60
+ name: Disable replication of elastic indices
61
+ command: |
62
+ curl -XPUT 'http://localhost:9250/_all/_settings?preserve_existing=true' -d '{
63
+ "index.number_of_replicas":"0"
64
+ }'
65
+ - run:
66
+ name: run tests
67
+ command: |
68
+ ruby -v
69
+ git config --global user.email "you@example.com"
70
+ git config --global user.name "Your Name"
71
+ mkdir /tmp/test-results
72
+ TEST_FILES="$(circleci tests glob "spec/**/*_spec.rb" | circleci tests split --split-by=timings)"
73
+ BUNDLE_GEMFILE=$GEMFILE bundle exec rspec --format progress --format RspecJunitFormatter --out /tmp/test-results/rspec.xml $TEST_FILES
74
+ - store_test_results:
75
+ path: /tmp/test-results
76
+
77
+ jobs:
78
+ rubocop:
79
+ docker:
80
+ - image: circleci/ruby:2.6
81
+ working_directory: ~/repo
82
+ steps:
83
+ - checkout
84
+ - run:
85
+ name: ruby version
86
+ command: |
87
+ ruby -e "STDERR.puts RUBY_VERSION; puts RUBY_VERSION.gsub(/^(\d+)\.(\d+)\..*/, '\1_\2')" > .ruby.version
88
+ - run:
89
+ name: Gemfile.lock version
90
+ command: |
91
+ echo "$GEMFILE.lock" > .Gemfile.lock.path
92
+ - restore_cache:
93
+ keys:
94
+ - dependencies-{{ checksum ".ruby.version" }}-{{ checksum ".Gemfile.lock.path" }}
95
+ - run:
96
+ name: install dependencies
97
+ command: |
98
+ bundle install --jobs=4 --retry=3 --path vendor/bundle --binstubs=/usr/local/bundle/bin
99
+ - save_cache:
100
+ paths:
101
+ - ./vendor/bundle
102
+ key: dependencies-{{ checksum ".ruby.version" }}-{{ checksum ".Gemfile.lock.path" }}
103
+ - run:
104
+ name: run rubocop
105
+ command: |
106
+ bundle exec rubocop --format simple
107
+
108
+ rspec-ruby-26-activerecord52:
109
+ docker:
110
+ - image: circleci/ruby:2.6
111
+ - image: docker.elastic.co/elasticsearch/elasticsearch:7.10.1
112
+ environment:
113
+ <<: *es-env
114
+ working_directory: ~/repo
115
+ environment:
116
+ GEMFILE: gemfiles/rails.5.2.activerecord.gemfile
117
+ steps:
118
+ - rspec-test
119
+
120
+ rspec-ruby-26-activerecord60:
121
+ docker:
122
+ - image: circleci/ruby:2.6
123
+ - image: docker.elastic.co/elasticsearch/elasticsearch:7.10.1
124
+ environment:
125
+ <<: *es-env
126
+ working_directory: ~/repo
127
+ environment:
128
+ GEMFILE: gemfiles/rails.6.0.activerecord.gemfile
129
+ steps:
130
+ - rspec-test
131
+
132
+ rspec-ruby-26-activerecord61:
133
+ docker:
134
+ - image: circleci/ruby:2.6
135
+ - image: docker.elastic.co/elasticsearch/elasticsearch:7.10.1
136
+ environment:
137
+ <<: *es-env
138
+ working_directory: ~/repo
139
+ environment:
140
+ GEMFILE: gemfiles/rails.6.1.activerecord.gemfile
141
+ steps:
142
+ - rspec-test
143
+
144
+ rspec-ruby-26-mongoid:
145
+ docker:
146
+ - image: circleci/ruby:2.6
147
+ - image: circleci/mongo:4.2.5
148
+ - image: docker.elastic.co/elasticsearch/elasticsearch:7.10.1
149
+ environment:
150
+ <<: *es-env
151
+ working_directory: ~/repo
152
+ environment:
153
+ GEMFILE: gemfiles/rails.5.2.mongoid.6.4.gemfile
154
+ steps:
155
+ - rspec-test
156
+
157
+ rspec-ruby-27-activerecord52:
158
+ docker:
159
+ - image: circleci/ruby:2.7
160
+ - image: docker.elastic.co/elasticsearch/elasticsearch:7.10.1
161
+ environment:
162
+ <<: *es-env
163
+ working_directory: ~/repo
164
+ environment:
165
+ GEMFILE: gemfiles/rails.5.2.activerecord.gemfile
166
+ steps:
167
+ - rspec-test
168
+
169
+ rspec-ruby-27-activerecord60:
170
+ docker:
171
+ - image: circleci/ruby:2.7
172
+ - image: docker.elastic.co/elasticsearch/elasticsearch:7.10.1
173
+ environment:
174
+ <<: *es-env
175
+ working_directory: ~/repo
176
+ environment:
177
+ GEMFILE: gemfiles/rails.6.0.activerecord.gemfile
178
+ steps:
179
+ - rspec-test
180
+
181
+ rspec-ruby-27-activerecord61:
182
+ docker:
183
+ - image: circleci/ruby:2.7
184
+ - image: docker.elastic.co/elasticsearch/elasticsearch:7.10.1
185
+ environment:
186
+ <<: *es-env
187
+ working_directory: ~/repo
188
+ environment:
189
+ GEMFILE: gemfiles/rails.6.1.activerecord.gemfile
190
+ steps:
191
+ - rspec-test
192
+
193
+ rspec-ruby-27-mongoid:
194
+ docker:
195
+ - image: circleci/ruby:2.7
196
+ - image: circleci/mongo:4.2.5
197
+ - image: docker.elastic.co/elasticsearch/elasticsearch:7.10.1
198
+ environment:
199
+ <<: *es-env
200
+ working_directory: ~/repo
201
+ environment:
202
+ GEMFILE: gemfiles/rails.5.2.mongoid.6.4.gemfile
203
+ steps:
204
+ - rspec-test
205
+
206
+ rspec-ruby-30-activerecord61:
207
+ docker:
208
+ - image: circleci/ruby:3.0
209
+ - image: docker.elastic.co/elasticsearch/elasticsearch:7.10.1
210
+ environment:
211
+ <<: *es-env
212
+ working_directory: ~/repo
213
+ environment:
214
+ GEMFILE: gemfiles/rails.6.1.activerecord.gemfile
215
+ steps:
216
+ - rspec-test
217
+
218
+ rspec-ruby-27-activerecord61-es6:
219
+ docker:
220
+ - image: circleci/ruby:2.7
221
+ - image: docker.elastic.co/elasticsearch/elasticsearch:6.8.13
222
+ environment:
223
+ <<: *es-env
224
+ working_directory: ~/repo
225
+ environment:
226
+ GEMFILE: gemfiles/rails.6.1.activerecord.gemfile
227
+ steps:
228
+ - rspec-test
229
+
230
+ rspec-ruby-30-activerecord61-es6:
231
+ docker:
232
+ - image: circleci/ruby:3.0
233
+ - image: docker.elastic.co/elasticsearch/elasticsearch:6.8.13
234
+ environment:
235
+ <<: *es-env
236
+ working_directory: ~/repo
237
+ environment:
238
+ GEMFILE: gemfiles/rails.6.1.activerecord.gemfile
239
+ steps:
240
+ - rspec-test
@@ -0,0 +1,39 @@
1
+ ---
2
+ name: Bug Report
3
+ about: Report an issue with Chewy you've discovered.
4
+ ---
5
+
6
+ *Be clear, concise and precise in your description of the problem.
7
+ Open an issue with a descriptive title and a summary in grammatically correct,
8
+ complete sentences.*
9
+
10
+ *Use the template below when reporting bugs. Please, make sure that
11
+ you're running the latest stable Chewy and that the problem you're reporting
12
+ hasn't been reported (and potentially fixed) already.*
13
+
14
+ *Before filing the ticket you should replace all text above the horizontal
15
+ rule with your own words.*
16
+
17
+ --------
18
+
19
+ ## Expected behavior
20
+
21
+ Describe here how you expected Chewy to behave in this particular situation.
22
+
23
+ ## Actual behavior
24
+
25
+ Describe here what actually happened.
26
+
27
+ ## Steps to reproduce the problem
28
+
29
+ This is extremely important! Providing us with a reliable way to reproduce
30
+ a problem will expedite its solution.
31
+
32
+ ## Version Information
33
+
34
+ Share here essential version information such as:
35
+
36
+ * Chewy version
37
+ * Elasticsearch version
38
+ * Ruby version
39
+ * Rails version
@@ -0,0 +1,20 @@
1
+ ---
2
+ name: Feature Request
3
+ about: Suggest new Chewy features or improvements to existing features.
4
+ ---
5
+
6
+ ## Is your feature request related to a problem? Please describe.
7
+
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
+
12
+ A clear and concise description of what you want to happen.
13
+
14
+ ## Describe alternatives you've considered
15
+
16
+ A clear and concise description of any alternative solutions or features you've considered.
17
+
18
+ ## Additional context
19
+
20
+ Add any other context or screenshots about the feature request here.
@@ -0,0 +1,16 @@
1
+ **Replace this text with a summary of the changes in your PR.
2
+ The more detailed you are, the better.**
3
+
4
+ -----------------
5
+
6
+ Before submitting the PR make sure the following are checked:
7
+
8
+ * [ ] The PR relates to *only* one subject with a clear title and description in grammatically correct, complete sentences.
9
+ * [ ] Wrote [good commit messages][1].
10
+ * [ ] Commit message starts with `[Fix #issue-number]` (if the related issue exists).
11
+ * [ ] Feature branch is up-to-date with `master` (if not - rebase it).
12
+ * [ ] Squashed related commits together.
13
+ * [ ] Added tests.
14
+ * [ ] Added an entry to the changelog if the new code introduces user-observable changes. See [changelog entry format](https://github.com/toptal/chewy/blob/master/CONTRIBUTING.md#changelog-entry-format) for details.
15
+
16
+ [1]: https://chris.beams.io/posts/git-commit/
data/.rubocop.yml CHANGED
@@ -1,50 +1,50 @@
1
1
  inherit_from: .rubocop_todo.yml
2
2
 
3
- Lint/AmbiguousBlockAssociation:
4
- Enabled: false
5
-
6
- Lint/EndAlignment:
7
- EnforcedStyleAlignWith: variable
8
-
9
- Style/AccessModifierIndentation:
3
+ Layout/AccessModifierIndentation:
10
4
  EnforcedStyle: outdent
11
5
 
12
- Style/Alias:
13
- EnforcedStyle: prefer_alias_method
14
-
15
- Style/AlignHash:
6
+ Layout/AlignHash:
16
7
  EnforcedLastArgumentHashStyle: always_ignore
17
8
 
18
- Style/AlignParameters:
9
+ Layout/AlignParameters:
19
10
  EnforcedStyle: with_fixed_indentation
20
11
 
21
- Style/AndOr:
22
- EnforcedStyle: conditionals
23
-
24
- Style/CaseIndentation:
12
+ Layout/CaseIndentation:
25
13
  EnforcedStyle: end
26
14
 
27
- Style/DoubleNegation:
28
- Enabled: false
29
-
30
- Style/IndentArray:
15
+ Layout/IndentArray:
31
16
  EnforcedStyle: consistent
32
17
 
33
- Style/IndentHash:
18
+ Layout/IndentHash:
34
19
  EnforcedStyle: consistent
35
20
 
36
- Style/IndentHeredoc:
21
+ Layout/IndentHeredoc:
37
22
  Enabled: false
38
23
 
39
- Style/MultilineMethodCallIndentation:
24
+ Layout/MultilineMethodCallIndentation:
40
25
  EnforcedStyle: indented
41
26
 
42
- Style/MultilineOperationIndentation:
27
+ Layout/MultilineOperationIndentation:
43
28
  EnforcedStyle: indented
44
29
 
45
- Style/SpaceInsideHashLiteralBraces:
30
+ Layout/SpaceInsideHashLiteralBraces:
46
31
  EnforcedStyle: no_space
47
32
 
33
+ Lint/AmbiguousBlockAssociation:
34
+ Enabled: false
35
+
36
+ Lint/EndAlignment:
37
+ EnforcedStyleAlignWith: variable
38
+
39
+ Style/Alias:
40
+ EnforcedStyle: prefer_alias_method
41
+
42
+ Style/AndOr:
43
+ EnforcedStyle: conditionals
44
+
45
+ Style/DoubleNegation:
46
+ Enabled: false
47
+
48
48
  Metrics/BlockLength:
49
49
  Exclude:
50
50
  - '**/*_spec.rb'
data/Appraisals CHANGED
@@ -1,5 +1,3 @@
1
- # rubocop:disable Style/FileName
2
-
3
1
  %w[4.0 4.1 4.2].each do |activesupport|
4
2
  appraise "rails.#{activesupport}.activerecord" do
5
3
  gem 'activerecord', "~> #{activesupport}.0"
@@ -8,6 +6,7 @@
8
6
  gem 'activejob', "~> #{activesupport}.0" if activesupport >= '4.2'
9
7
  gem 'resque', require: false
10
8
  gem 'shoryuken', require: false
9
+ gem 'aws-sdk-sqs', require: false
11
10
  gem 'sidekiq', require: false
12
11
 
13
12
  gem 'kaminari', '~> 0.17.0', require: false
@@ -17,7 +16,7 @@
17
16
  end
18
17
  end
19
18
 
20
- %w[5.0 5.1].each do |activesupport|
19
+ %w[5.0 5.1 5.2].each do |activesupport|
21
20
  appraise "rails.#{activesupport}.activerecord" do
22
21
  gem 'activerecord', "~> #{activesupport}.0"
23
22
  gem 'activesupport', "~> #{activesupport}.0"
@@ -25,22 +24,24 @@ end
25
24
  gem 'activejob', "~> #{activesupport}.0"
26
25
  gem 'resque', require: false
27
26
  gem 'shoryuken', require: false
27
+ gem 'aws-sdk-sqs', require: false
28
28
  gem 'sidekiq', require: false
29
29
 
30
- gem 'kaminari-core', '~> 1.0.0', require: false
30
+ gem 'kaminari-core', '~> 1.1.0', require: false
31
31
  gem 'will_paginate', require: false
32
32
 
33
33
  gem 'parallel', require: false
34
34
  end
35
35
  end
36
36
 
37
- appraise 'rails.4.2.mongoid.5.1' do
38
- gem 'mongoid', '~> 5.1.0'
37
+ appraise 'rails.4.2.mongoid.5.2' do
38
+ gem 'mongoid', '~> 5.2.0'
39
39
  gem 'activesupport', '~> 4.2.0'
40
40
 
41
41
  gem 'activejob', '~> 4.2.0'
42
42
  gem 'resque', require: false
43
43
  gem 'shoryuken', require: false
44
+ gem 'aws-sdk-sqs', require: false
44
45
  gem 'sidekiq', require: false
45
46
 
46
47
  gem 'kaminari', '~> 0.17.0', require: false
@@ -49,7 +50,7 @@ appraise 'rails.4.2.mongoid.5.1' do
49
50
  gem 'parallel', require: false
50
51
  end
51
52
 
52
- {'5.0' => '6.0', '5.1' => '6.1'}.each do |activesupport, mongoid|
53
+ {'5.0' => '6.1', '5.1' => '6.3'}.each do |activesupport, mongoid|
53
54
  appraise "rails.#{activesupport}.mongoid.#{mongoid}" do
54
55
  gem 'mongoid', "~> #{mongoid}.0"
55
56
  gem 'activesupport', "~> #{activesupport}.0"
@@ -57,9 +58,10 @@ end
57
58
  gem 'activejob', "~> #{activesupport}.0"
58
59
  gem 'resque', require: false
59
60
  gem 'shoryuken', require: false
61
+ gem 'aws-sdk-sqs', require: false
60
62
  gem 'sidekiq', require: false
61
63
 
62
- gem 'kaminari-core', '~> 1.0.0', require: false
64
+ gem 'kaminari-core', '~> 1.1.0', require: false
63
65
  gem 'will_paginate', require: false
64
66
 
65
67
  gem 'parallel', require: false
@@ -69,9 +71,9 @@ end
69
71
  %w[4.45].each do |sequel|
70
72
  appraise "sequel.#{sequel}" do
71
73
  gem 'sequel', "~> #{sequel}.0"
72
- gem 'activesupport', '~> 5.0.0'
74
+ gem 'activesupport', '~> 5.1.0'
73
75
 
74
- gem 'kaminari-core', '~> 1.0.0', require: false
76
+ gem 'kaminari-core', '~> 1.1.0', require: false
75
77
  gem 'will_paginate', require: false
76
78
 
77
79
  gem 'parallel', require: false