chewy 0.8.4 → 5.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (303) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +1 -0
  3. data/.rubocop.yml +56 -0
  4. data/.rubocop_todo.yml +44 -0
  5. data/.travis.yml +36 -67
  6. data/.yardopts +5 -0
  7. data/Appraisals +63 -58
  8. data/CHANGELOG.md +168 -11
  9. data/Gemfile +16 -9
  10. data/Guardfile +5 -5
  11. data/LEGACY_DSL.md +497 -0
  12. data/README.md +403 -470
  13. data/Rakefile +11 -1
  14. data/chewy.gemspec +12 -15
  15. data/gemfiles/rails.4.0.activerecord.gemfile +9 -9
  16. data/gemfiles/rails.4.1.activerecord.gemfile +9 -9
  17. data/gemfiles/rails.4.2.activerecord.gemfile +8 -8
  18. data/gemfiles/rails.4.2.mongoid.5.2.gemfile +16 -0
  19. data/gemfiles/rails.5.0.activerecord.gemfile +16 -0
  20. data/gemfiles/rails.5.0.mongoid.6.1.gemfile +16 -0
  21. data/gemfiles/rails.5.1.activerecord.gemfile +16 -0
  22. data/gemfiles/rails.5.1.mongoid.6.3.gemfile +16 -0
  23. data/gemfiles/rails.5.2.activerecord.gemfile +16 -0
  24. data/gemfiles/sequel.4.45.gemfile +11 -0
  25. data/lib/chewy/backports/deep_dup.rb +1 -1
  26. data/lib/chewy/backports/duplicable.rb +1 -0
  27. data/lib/chewy/config.rb +53 -21
  28. data/lib/chewy/errors.rb +6 -6
  29. data/lib/chewy/fields/base.rb +59 -29
  30. data/lib/chewy/fields/root.rb +49 -14
  31. data/lib/chewy/index/actions.rb +95 -36
  32. data/lib/chewy/index/aliases.rb +2 -1
  33. data/lib/chewy/index/settings.rb +10 -5
  34. data/lib/chewy/index/specification.rb +60 -0
  35. data/lib/chewy/index.rb +239 -138
  36. data/lib/chewy/journal.rb +55 -0
  37. data/lib/chewy/log_subscriber.rb +8 -8
  38. data/lib/chewy/minitest/helpers.rb +77 -0
  39. data/lib/chewy/minitest/search_index_receiver.rb +80 -0
  40. data/lib/chewy/minitest.rb +1 -0
  41. data/lib/chewy/query/compose.rb +18 -19
  42. data/lib/chewy/query/criteria.rb +34 -24
  43. data/lib/chewy/query/filters.rb +28 -11
  44. data/lib/chewy/query/loading.rb +3 -4
  45. data/lib/chewy/query/nodes/and.rb +1 -1
  46. data/lib/chewy/query/nodes/base.rb +1 -1
  47. data/lib/chewy/query/nodes/bool.rb +6 -4
  48. data/lib/chewy/query/nodes/equal.rb +4 -4
  49. data/lib/chewy/query/nodes/exists.rb +1 -1
  50. data/lib/chewy/query/nodes/expr.rb +2 -2
  51. data/lib/chewy/query/nodes/field.rb +35 -31
  52. data/lib/chewy/query/nodes/has_child.rb +1 -0
  53. data/lib/chewy/query/nodes/has_parent.rb +1 -0
  54. data/lib/chewy/query/nodes/has_relation.rb +10 -12
  55. data/lib/chewy/query/nodes/missing.rb +1 -1
  56. data/lib/chewy/query/nodes/not.rb +1 -1
  57. data/lib/chewy/query/nodes/or.rb +1 -1
  58. data/lib/chewy/query/nodes/prefix.rb +3 -2
  59. data/lib/chewy/query/nodes/query.rb +1 -1
  60. data/lib/chewy/query/nodes/range.rb +9 -9
  61. data/lib/chewy/query/nodes/raw.rb +1 -1
  62. data/lib/chewy/query/nodes/regexp.rb +13 -9
  63. data/lib/chewy/query/nodes/script.rb +4 -4
  64. data/lib/chewy/query/pagination.rb +10 -1
  65. data/lib/chewy/query.rb +286 -170
  66. data/lib/chewy/railtie.rb +7 -6
  67. data/lib/chewy/rake_helper.rb +275 -37
  68. data/lib/chewy/repository.rb +2 -2
  69. data/lib/chewy/rspec/update_index.rb +70 -65
  70. data/lib/chewy/rspec.rb +1 -1
  71. data/lib/chewy/runtime/version.rb +4 -4
  72. data/lib/chewy/search/loader.rb +83 -0
  73. data/lib/chewy/{query → search}/pagination/kaminari.rb +13 -5
  74. data/lib/chewy/search/pagination/will_paginate.rb +43 -0
  75. data/lib/chewy/search/parameters/aggs.rb +16 -0
  76. data/lib/chewy/search/parameters/allow_partial_search_results.rb +27 -0
  77. data/lib/chewy/search/parameters/concerns/bool_storage.rb +24 -0
  78. data/lib/chewy/search/parameters/concerns/hash_storage.rb +23 -0
  79. data/lib/chewy/search/parameters/concerns/integer_storage.rb +14 -0
  80. data/lib/chewy/search/parameters/concerns/query_storage.rb +238 -0
  81. data/lib/chewy/search/parameters/concerns/string_array_storage.rb +23 -0
  82. data/lib/chewy/search/parameters/concerns/string_storage.rb +14 -0
  83. data/lib/chewy/search/parameters/docvalue_fields.rb +12 -0
  84. data/lib/chewy/search/parameters/explain.rb +16 -0
  85. data/lib/chewy/search/parameters/filter.rb +47 -0
  86. data/lib/chewy/search/parameters/highlight.rb +16 -0
  87. data/lib/chewy/search/parameters/indices.rb +123 -0
  88. data/lib/chewy/search/parameters/indices_boost.rb +52 -0
  89. data/lib/chewy/search/parameters/limit.rb +17 -0
  90. data/lib/chewy/search/parameters/load.rb +32 -0
  91. data/lib/chewy/search/parameters/min_score.rb +16 -0
  92. data/lib/chewy/search/parameters/none.rb +27 -0
  93. data/lib/chewy/search/parameters/offset.rb +17 -0
  94. data/lib/chewy/search/parameters/order.rb +64 -0
  95. data/lib/chewy/search/parameters/post_filter.rb +19 -0
  96. data/lib/chewy/search/parameters/preference.rb +16 -0
  97. data/lib/chewy/search/parameters/profile.rb +16 -0
  98. data/lib/chewy/search/parameters/query.rb +19 -0
  99. data/lib/chewy/search/parameters/request_cache.rb +27 -0
  100. data/lib/chewy/search/parameters/rescore.rb +29 -0
  101. data/lib/chewy/search/parameters/script_fields.rb +16 -0
  102. data/lib/chewy/search/parameters/search_after.rb +20 -0
  103. data/lib/chewy/search/parameters/search_type.rb +16 -0
  104. data/lib/chewy/search/parameters/source.rb +73 -0
  105. data/lib/chewy/search/parameters/storage.rb +95 -0
  106. data/lib/chewy/search/parameters/stored_fields.rb +63 -0
  107. data/lib/chewy/search/parameters/suggest.rb +16 -0
  108. data/lib/chewy/search/parameters/terminate_after.rb +16 -0
  109. data/lib/chewy/search/parameters/timeout.rb +16 -0
  110. data/lib/chewy/search/parameters/track_scores.rb +16 -0
  111. data/lib/chewy/search/parameters/types.rb +20 -0
  112. data/lib/chewy/search/parameters/version.rb +16 -0
  113. data/lib/chewy/search/parameters.rb +167 -0
  114. data/lib/chewy/search/query_proxy.rb +257 -0
  115. data/lib/chewy/search/request.rb +1045 -0
  116. data/lib/chewy/search/response.rb +119 -0
  117. data/lib/chewy/search/scoping.rb +50 -0
  118. data/lib/chewy/search/scrolling.rb +134 -0
  119. data/lib/chewy/search.rb +81 -26
  120. data/lib/chewy/stash.rb +79 -0
  121. data/lib/chewy/strategy/active_job.rb +1 -0
  122. data/lib/chewy/strategy/atomic.rb +2 -4
  123. data/lib/chewy/strategy/base.rb +4 -4
  124. data/lib/chewy/strategy/bypass.rb +1 -2
  125. data/lib/chewy/strategy/resque.rb +1 -0
  126. data/lib/chewy/strategy/shoryuken.rb +40 -0
  127. data/lib/chewy/strategy/sidekiq.rb +13 -1
  128. data/lib/chewy/strategy/urgent.rb +1 -1
  129. data/lib/chewy/strategy.rb +19 -10
  130. data/lib/chewy/type/actions.rb +26 -2
  131. data/lib/chewy/type/adapter/active_record.rb +50 -24
  132. data/lib/chewy/type/adapter/base.rb +29 -9
  133. data/lib/chewy/type/adapter/mongoid.rb +19 -10
  134. data/lib/chewy/type/adapter/object.rb +195 -31
  135. data/lib/chewy/type/adapter/orm.rb +69 -33
  136. data/lib/chewy/type/adapter/sequel.rb +37 -19
  137. data/lib/chewy/type/crutch.rb +5 -4
  138. data/lib/chewy/type/import/bulk_builder.rb +122 -0
  139. data/lib/chewy/type/import/bulk_request.rb +78 -0
  140. data/lib/chewy/type/import/journal_builder.rb +45 -0
  141. data/lib/chewy/type/import/routine.rb +138 -0
  142. data/lib/chewy/type/import.rb +150 -176
  143. data/lib/chewy/type/mapping.rb +58 -42
  144. data/lib/chewy/type/observe.rb +21 -15
  145. data/lib/chewy/type/syncer.rb +222 -0
  146. data/lib/chewy/type/witchcraft.rb +89 -34
  147. data/lib/chewy/type/wrapper.rb +48 -16
  148. data/lib/chewy/type.rb +77 -49
  149. data/lib/chewy/version.rb +1 -1
  150. data/lib/chewy.rb +95 -52
  151. data/lib/generators/chewy/install_generator.rb +3 -3
  152. data/lib/sequel/plugins/chewy_observe.rb +4 -19
  153. data/lib/tasks/chewy.rake +91 -28
  154. data/spec/chewy/config_spec.rb +130 -12
  155. data/spec/chewy/fields/base_spec.rb +194 -172
  156. data/spec/chewy/fields/root_spec.rb +123 -17
  157. data/spec/chewy/fields/time_fields_spec.rb +10 -9
  158. data/spec/chewy/index/actions_spec.rb +228 -43
  159. data/spec/chewy/index/aliases_spec.rb +2 -2
  160. data/spec/chewy/index/settings_spec.rb +100 -49
  161. data/spec/chewy/index/specification_spec.rb +169 -0
  162. data/spec/chewy/index_spec.rb +159 -63
  163. data/spec/chewy/journal_spec.rb +268 -0
  164. data/spec/chewy/minitest/helpers_spec.rb +90 -0
  165. data/spec/chewy/minitest/search_index_receiver_spec.rb +120 -0
  166. data/spec/chewy/query/criteria_spec.rb +503 -236
  167. data/spec/chewy/query/filters_spec.rb +96 -68
  168. data/spec/chewy/query/loading_spec.rb +80 -42
  169. data/spec/chewy/query/nodes/and_spec.rb +3 -7
  170. data/spec/chewy/query/nodes/bool_spec.rb +5 -13
  171. data/spec/chewy/query/nodes/equal_spec.rb +20 -20
  172. data/spec/chewy/query/nodes/exists_spec.rb +7 -7
  173. data/spec/chewy/query/nodes/has_child_spec.rb +42 -23
  174. data/spec/chewy/query/nodes/has_parent_spec.rb +42 -23
  175. data/spec/chewy/query/nodes/match_all_spec.rb +2 -2
  176. data/spec/chewy/query/nodes/missing_spec.rb +6 -5
  177. data/spec/chewy/query/nodes/not_spec.rb +5 -7
  178. data/spec/chewy/query/nodes/or_spec.rb +3 -7
  179. data/spec/chewy/query/nodes/prefix_spec.rb +6 -6
  180. data/spec/chewy/query/nodes/query_spec.rb +3 -3
  181. data/spec/chewy/query/nodes/range_spec.rb +19 -19
  182. data/spec/chewy/query/nodes/raw_spec.rb +2 -2
  183. data/spec/chewy/query/nodes/regexp_spec.rb +31 -19
  184. data/spec/chewy/query/nodes/script_spec.rb +5 -5
  185. data/spec/chewy/query/pagination/kaminari_spec.rb +3 -55
  186. data/spec/chewy/query/pagination/will_paginate_spec.rb +5 -0
  187. data/spec/chewy/query/pagination_spec.rb +25 -22
  188. data/spec/chewy/query_spec.rb +510 -505
  189. data/spec/chewy/rake_helper_spec.rb +381 -0
  190. data/spec/chewy/repository_spec.rb +8 -8
  191. data/spec/chewy/rspec/update_index_spec.rb +215 -113
  192. data/spec/chewy/runtime_spec.rb +2 -2
  193. data/spec/chewy/search/loader_spec.rb +117 -0
  194. data/spec/chewy/search/pagination/kaminari_examples.rb +71 -0
  195. data/spec/chewy/search/pagination/kaminari_spec.rb +21 -0
  196. data/spec/chewy/search/pagination/will_paginate_examples.rb +63 -0
  197. data/spec/chewy/search/pagination/will_paginate_spec.rb +23 -0
  198. data/spec/chewy/search/parameters/aggs_spec.rb +5 -0
  199. data/spec/chewy/search/parameters/bool_storage_examples.rb +53 -0
  200. data/spec/chewy/search/parameters/docvalue_fields_spec.rb +5 -0
  201. data/spec/chewy/search/parameters/explain_spec.rb +5 -0
  202. data/spec/chewy/search/parameters/filter_spec.rb +5 -0
  203. data/spec/chewy/search/parameters/hash_storage_examples.rb +59 -0
  204. data/spec/chewy/search/parameters/highlight_spec.rb +5 -0
  205. data/spec/chewy/search/parameters/indices_spec.rb +191 -0
  206. data/spec/chewy/search/parameters/integer_storage_examples.rb +32 -0
  207. data/spec/chewy/search/parameters/limit_spec.rb +5 -0
  208. data/spec/chewy/search/parameters/load_spec.rb +60 -0
  209. data/spec/chewy/search/parameters/min_score_spec.rb +32 -0
  210. data/spec/chewy/search/parameters/none_spec.rb +5 -0
  211. data/spec/chewy/search/parameters/offset_spec.rb +5 -0
  212. data/spec/chewy/search/parameters/order_spec.rb +65 -0
  213. data/spec/chewy/search/parameters/post_filter_spec.rb +5 -0
  214. data/spec/chewy/search/parameters/preference_spec.rb +5 -0
  215. data/spec/chewy/search/parameters/profile_spec.rb +5 -0
  216. data/spec/chewy/search/parameters/query_spec.rb +5 -0
  217. data/spec/chewy/search/parameters/query_storage_examples.rb +388 -0
  218. data/spec/chewy/search/parameters/request_cache_spec.rb +67 -0
  219. data/spec/chewy/search/parameters/rescore_spec.rb +62 -0
  220. data/spec/chewy/search/parameters/script_fields_spec.rb +5 -0
  221. data/spec/chewy/search/parameters/search_after_spec.rb +32 -0
  222. data/spec/chewy/search/parameters/search_type_spec.rb +5 -0
  223. data/spec/chewy/search/parameters/source_spec.rb +156 -0
  224. data/spec/chewy/search/parameters/storage_spec.rb +60 -0
  225. data/spec/chewy/search/parameters/stored_fields_spec.rb +126 -0
  226. data/spec/chewy/search/parameters/string_array_storage_examples.rb +63 -0
  227. data/spec/chewy/search/parameters/string_storage_examples.rb +32 -0
  228. data/spec/chewy/search/parameters/suggest_spec.rb +5 -0
  229. data/spec/chewy/search/parameters/terminate_after_spec.rb +5 -0
  230. data/spec/chewy/search/parameters/timeout_spec.rb +5 -0
  231. data/spec/chewy/search/parameters/track_scores_spec.rb +5 -0
  232. data/spec/chewy/search/parameters/types_spec.rb +5 -0
  233. data/spec/chewy/search/parameters/version_spec.rb +5 -0
  234. data/spec/chewy/search/parameters_spec.rb +145 -0
  235. data/spec/chewy/search/query_proxy_spec.rb +68 -0
  236. data/spec/chewy/search/request_spec.rb +685 -0
  237. data/spec/chewy/search/response_spec.rb +192 -0
  238. data/spec/chewy/search/scrolling_spec.rb +169 -0
  239. data/spec/chewy/search_spec.rb +37 -20
  240. data/spec/chewy/stash_spec.rb +95 -0
  241. data/spec/chewy/strategy/active_job_spec.rb +8 -2
  242. data/spec/chewy/strategy/atomic_spec.rb +4 -1
  243. data/spec/chewy/strategy/resque_spec.rb +8 -2
  244. data/spec/chewy/strategy/shoryuken_spec.rb +66 -0
  245. data/spec/chewy/strategy/sidekiq_spec.rb +10 -2
  246. data/spec/chewy/strategy_spec.rb +6 -6
  247. data/spec/chewy/type/actions_spec.rb +29 -10
  248. data/spec/chewy/type/adapter/active_record_spec.rb +357 -139
  249. data/spec/chewy/type/adapter/mongoid_spec.rb +220 -101
  250. data/spec/chewy/type/adapter/object_spec.rb +129 -40
  251. data/spec/chewy/type/adapter/sequel_spec.rb +304 -152
  252. data/spec/chewy/type/import/bulk_builder_spec.rb +279 -0
  253. data/spec/chewy/type/import/bulk_request_spec.rb +102 -0
  254. data/spec/chewy/type/import/journal_builder_spec.rb +95 -0
  255. data/spec/chewy/type/import/routine_spec.rb +110 -0
  256. data/spec/chewy/type/import_spec.rb +360 -244
  257. data/spec/chewy/type/mapping_spec.rb +96 -29
  258. data/spec/chewy/type/observe_spec.rb +25 -15
  259. data/spec/chewy/type/syncer_spec.rb +123 -0
  260. data/spec/chewy/type/witchcraft_spec.rb +122 -44
  261. data/spec/chewy/type/wrapper_spec.rb +63 -23
  262. data/spec/chewy/type_spec.rb +32 -10
  263. data/spec/chewy_spec.rb +82 -12
  264. data/spec/spec_helper.rb +16 -2
  265. data/spec/support/active_record.rb +6 -2
  266. data/spec/support/class_helpers.rb +4 -19
  267. data/spec/support/mongoid.rb +17 -5
  268. data/spec/support/sequel.rb +6 -1
  269. metadata +250 -57
  270. data/gemfiles/rails.3.2.activerecord.gemfile +0 -15
  271. data/gemfiles/rails.3.2.activerecord.kaminari.gemfile +0 -14
  272. data/gemfiles/rails.3.2.activerecord.will_paginate.gemfile +0 -14
  273. data/gemfiles/rails.4.0.activerecord.kaminari.gemfile +0 -14
  274. data/gemfiles/rails.4.0.activerecord.will_paginate.gemfile +0 -14
  275. data/gemfiles/rails.4.0.mongoid.4.0.0.gemfile +0 -15
  276. data/gemfiles/rails.4.0.mongoid.4.0.0.kaminari.gemfile +0 -14
  277. data/gemfiles/rails.4.0.mongoid.4.0.0.will_paginate.gemfile +0 -14
  278. data/gemfiles/rails.4.0.mongoid.5.1.0.gemfile +0 -15
  279. data/gemfiles/rails.4.0.mongoid.5.1.0.kaminari.gemfile +0 -14
  280. data/gemfiles/rails.4.0.mongoid.5.1.0.will_paginate.gemfile +0 -14
  281. data/gemfiles/rails.4.1.activerecord.kaminari.gemfile +0 -14
  282. data/gemfiles/rails.4.1.activerecord.will_paginate.gemfile +0 -14
  283. data/gemfiles/rails.4.1.mongoid.4.0.0.gemfile +0 -15
  284. data/gemfiles/rails.4.1.mongoid.4.0.0.kaminari.gemfile +0 -14
  285. data/gemfiles/rails.4.1.mongoid.4.0.0.will_paginate.gemfile +0 -14
  286. data/gemfiles/rails.4.1.mongoid.5.1.0.gemfile +0 -15
  287. data/gemfiles/rails.4.1.mongoid.5.1.0.kaminari.gemfile +0 -14
  288. data/gemfiles/rails.4.1.mongoid.5.1.0.will_paginate.gemfile +0 -14
  289. data/gemfiles/rails.4.2.activerecord.kaminari.gemfile +0 -15
  290. data/gemfiles/rails.4.2.activerecord.will_paginate.gemfile +0 -15
  291. data/gemfiles/rails.4.2.mongoid.4.0.0.gemfile +0 -15
  292. data/gemfiles/rails.4.2.mongoid.4.0.0.kaminari.gemfile +0 -14
  293. data/gemfiles/rails.4.2.mongoid.4.0.0.will_paginate.gemfile +0 -14
  294. data/gemfiles/rails.4.2.mongoid.5.1.0.gemfile +0 -15
  295. data/gemfiles/rails.4.2.mongoid.5.1.0.kaminari.gemfile +0 -14
  296. data/gemfiles/rails.4.2.mongoid.5.1.0.will_paginate.gemfile +0 -14
  297. data/gemfiles/rails.5.0.0.beta3.activerecord.gemfile +0 -16
  298. data/gemfiles/rails.5.0.0.beta3.activerecord.kaminari.gemfile +0 -16
  299. data/gemfiles/rails.5.0.0.beta3.activerecord.will_paginate.gemfile +0 -15
  300. data/gemfiles/sequel.4.31.gemfile +0 -13
  301. data/lib/chewy/query/pagination/will_paginate.rb +0 -27
  302. data/lib/chewy/query/scoping.rb +0 -20
  303. data/spec/chewy/query/pagination/will_paginage_spec.rb +0 -60
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 99f0c4b83cadcf35bdf475f7f68e16120ed4674d
4
- data.tar.gz: b9653b8e9bfb3e2e8f8b98662495f13a6b2d56e8
2
+ SHA256:
3
+ metadata.gz: 55ee493bcdd9f0f001572ffade6a8fef187fd9fd0a87176dd52f07b18db6ec39
4
+ data.tar.gz: 1ed5e0e4d39c7e8b2202051322c7c312078ba644c62f49c320153d6bd2054ee7
5
5
  SHA512:
6
- metadata.gz: 7c28d1f97d185c70c986c4d7250e566bb196adc2f7230a7ff76939e3cbc589fabcb0a4ac6b26fe80ec267ec6c7d6a80cea766f4ea5fb6d67dd6cc76b47038cf1
7
- data.tar.gz: b1418935e1d6bff9e2fc93676ac8d93ee4f4c6a3ee30e1a5371781e1004adf1cddd24fd326f8a368fc692823a5a96464a555c14de82c8e1117a1dbaf0cc3a6da
6
+ metadata.gz: 9fe7425716df8484306cee104f3b3365a9ae36d2e6496b0653b88dd9a13f8e78f48a6d4f579f0e9a2887fb2d36632a1bd970c901d3ba10c87f9fd6405b56327d
7
+ data.tar.gz: f1c81281f0343256c47b20e52bf9363df6bc1c86f3c53e031f4facdb93d223fe6685e74ea3b048b5869a8d0c09ba0a0672c100a303d8b6cabd358e71de141c03
data/.gitignore CHANGED
@@ -19,3 +19,4 @@ tmp
19
19
  .rvmrc
20
20
  _site
21
21
  .sass-cache
22
+ file::memory:?cache=shared
data/.rubocop.yml ADDED
@@ -0,0 +1,56 @@
1
+ inherit_from: .rubocop_todo.yml
2
+
3
+ Layout/AccessModifierIndentation:
4
+ EnforcedStyle: outdent
5
+
6
+ Layout/AlignHash:
7
+ EnforcedLastArgumentHashStyle: always_ignore
8
+
9
+ Layout/AlignParameters:
10
+ EnforcedStyle: with_fixed_indentation
11
+
12
+ Layout/CaseIndentation:
13
+ EnforcedStyle: end
14
+
15
+ Layout/IndentArray:
16
+ EnforcedStyle: consistent
17
+
18
+ Layout/IndentHash:
19
+ EnforcedStyle: consistent
20
+
21
+ Layout/IndentHeredoc:
22
+ Enabled: false
23
+
24
+ Layout/MultilineMethodCallIndentation:
25
+ EnforcedStyle: indented
26
+
27
+ Layout/MultilineOperationIndentation:
28
+ EnforcedStyle: indented
29
+
30
+ Layout/SpaceInsideHashLiteralBraces:
31
+ EnforcedStyle: no_space
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
+ Metrics/BlockLength:
49
+ Exclude:
50
+ - '**/*_spec.rb'
51
+ - '**/*_examples.rb'
52
+ - '**/*.rake'
53
+
54
+ Metrics/ModuleLength:
55
+ Exclude:
56
+ - '**/*_spec.rb'
data/.rubocop_todo.yml ADDED
@@ -0,0 +1,44 @@
1
+ # This configuration was generated by
2
+ # `rubocop --auto-gen-config`
3
+ # on 2016-09-09 17:05:47 +0700 using RuboCop version 0.42.0.
4
+ # The point is for the user to remove these configuration records
5
+ # one by one as the offenses are removed from the code base.
6
+ # Note that changes in the inspected code, or installation of new
7
+ # versions of RuboCop, may require this file to be generated again.
8
+
9
+ # Offense count: 42
10
+ Metrics/AbcSize:
11
+ Max: 48
12
+
13
+ # Offense count: 4
14
+ # Configuration parameters: CountComments.
15
+ Metrics/ClassLength:
16
+ Max: 300
17
+
18
+ # Offense count: 14
19
+ Metrics/CyclomaticComplexity:
20
+ Max: 13
21
+
22
+ # Offense count: 1450
23
+ # Configuration parameters: AllowHeredoc, AllowURI, URISchemes.
24
+ # URISchemes: http, https
25
+ Metrics/LineLength:
26
+ Max: 198
27
+
28
+ # Offense count: 38
29
+ # Configuration parameters: CountComments.
30
+ Metrics/MethodLength:
31
+ Max: 33
32
+
33
+ # Offense count: 1
34
+ # Configuration parameters: CountComments.
35
+ Metrics/ModuleLength:
36
+ Max: 180
37
+
38
+ # Offense count: 14
39
+ Metrics/PerceivedComplexity:
40
+ Max: 15
41
+
42
+ # Offense count: 93
43
+ Style/Documentation:
44
+ Enabled: false
data/.travis.yml CHANGED
@@ -2,75 +2,44 @@ language: ruby
2
2
  sudo: false
3
3
  services:
4
4
  - mongodb
5
+ jdk:
6
+ - oraclejdk8
5
7
  rvm:
6
- - 2.0
7
- - 2.1
8
- - 2.2.3
9
- - 2.3.0
10
- # - rbx
8
+ - 2.4.3
9
+ env:
10
+ global:
11
+ - TEST_CLUSTER_NODES=1
12
+ matrix:
13
+ - ES_VERSION=5.6.7
11
14
  gemfile:
12
- - gemfiles/rails.3.2.activerecord.gemfile
13
- - gemfiles/rails.3.2.activerecord.kaminari.gemfile
14
- - gemfiles/rails.3.2.activerecord.will_paginate.gemfile
15
- - gemfiles/rails.4.0.activerecord.gemfile
16
- - gemfiles/rails.4.0.activerecord.kaminari.gemfile
17
- - gemfiles/rails.4.0.activerecord.will_paginate.gemfile
18
- - gemfiles/rails.4.1.activerecord.gemfile
19
- - gemfiles/rails.4.1.activerecord.kaminari.gemfile
20
- - gemfiles/rails.4.1.activerecord.will_paginate.gemfile
21
- - gemfiles/rails.4.2.activerecord.gemfile
22
- - gemfiles/rails.4.2.activerecord.kaminari.gemfile
23
- - gemfiles/rails.4.2.activerecord.will_paginate.gemfile
24
- - gemfiles/rails.5.0.0.beta3.activerecord.gemfile
25
- - gemfiles/rails.5.0.0.beta3.activerecord.kaminari.gemfile
26
- - gemfiles/rails.5.0.0.beta3.activerecord.will_paginate.gemfile
27
- - gemfiles/rails.4.0.mongoid.4.0.0.gemfile
28
- - gemfiles/rails.4.0.mongoid.4.0.0.kaminari.gemfile
29
- - gemfiles/rails.4.0.mongoid.4.0.0.will_paginate.gemfile
30
- - gemfiles/rails.4.0.mongoid.5.1.0.gemfile
31
- - gemfiles/rails.4.0.mongoid.5.1.0.kaminari.gemfile
32
- - gemfiles/rails.4.0.mongoid.5.1.0.will_paginate.gemfile
33
- - gemfiles/rails.4.1.mongoid.4.0.0.gemfile
34
- - gemfiles/rails.4.1.mongoid.4.0.0.kaminari.gemfile
35
- - gemfiles/rails.4.1.mongoid.4.0.0.will_paginate.gemfile
36
- - gemfiles/rails.4.1.mongoid.5.1.0.gemfile
37
- - gemfiles/rails.4.1.mongoid.5.1.0.kaminari.gemfile
38
- - gemfiles/rails.4.1.mongoid.5.1.0.will_paginate.gemfile
39
- - gemfiles/rails.4.2.mongoid.4.0.0.gemfile
40
- - gemfiles/rails.4.2.mongoid.4.0.0.kaminari.gemfile
41
- - gemfiles/rails.4.2.mongoid.4.0.0.will_paginate.gemfile
42
- - gemfiles/rails.4.2.mongoid.5.1.0.gemfile
43
- - gemfiles/rails.4.2.mongoid.5.1.0.kaminari.gemfile
44
- - gemfiles/rails.4.2.mongoid.5.1.0.will_paginate.gemfile
45
- - gemfiles/sequel.4.31.gemfile
46
-
15
+ - gemfiles/rails.5.0.activerecord.gemfile
16
+ - gemfiles/rails.5.1.activerecord.gemfile
17
+ - gemfiles/rails.5.0.mongoid.6.1.gemfile
18
+ - gemfiles/rails.5.1.mongoid.6.3.gemfile
19
+ - gemfiles/sequel.4.45.gemfile
47
20
  matrix:
48
- exclude:
49
- - rvm: 2.0
50
- gemfile: gemfiles/rails.5.0.0.beta3.activerecord.gemfile
51
- - rvm: 2.0
52
- gemfile: gemfiles/rails.5.0.0.beta3.activerecord.kaminari.gemfile
53
- - rvm: 2.0
54
- gemfile: gemfiles/rails.5.0.0.beta3.activerecord.will_paginate.gemfile
55
- - rvm: 2.1
56
- gemfile: gemfiles/rails.5.0.0.beta3.activerecord.gemfile
57
- - rvm: 2.1
58
- gemfile: gemfiles/rails.5.0.0.beta3.activerecord.kaminari.gemfile
59
- - rvm: 2.1
60
- gemfile: gemfiles/rails.5.0.0.beta3.activerecord.will_paginate.gemfile
61
- - rvm: 2.2
62
- gemfile: gemfiles/rails.3.2.activerecord.gemfile
63
- - rvm: 2.2
64
- gemfile: gemfiles/rails.3.2.activerecord.kaminari.gemfile
65
- - rvm: 2.2
66
- gemfile: gemfiles/rails.3.2.activerecord.will_paginate.gemfile
67
- - rvm: 2.3
68
- gemfile: gemfiles/rails.3.2.activerecord.gemfile
69
- - rvm: 2.3
70
- gemfile: gemfiles/rails.3.2.activerecord.kaminari.gemfile
71
- - rvm: 2.3
72
- gemfile: gemfiles/rails.3.2.activerecord.will_paginate.gemfile
21
+ include:
22
+ - rvm: 2.2.9
23
+ gemfile: gemfiles/rails.4.0.activerecord.gemfile
24
+ env: ES_VERSION=2.4.6
25
+ - rvm: 2.2.9
26
+ gemfile: gemfiles/rails.4.1.activerecord.gemfile
27
+ env: ES_VERSION=2.4.6
28
+ - rvm: 2.3.6
29
+ gemfile: gemfiles/rails.4.2.activerecord.gemfile
30
+ env: ES_VERSION=2.4.6
31
+ - rvm: 2.3.6
32
+ gemfile: gemfiles/rails.4.2.mongoid.5.2.gemfile
33
+ env: ES_VERSION=2.4.6
34
+ - rvm: 2.5.1
35
+ gemfile: gemfiles/rails.5.2.activerecord.gemfile
36
+ env: ES_VERSION=5.6.7
73
37
  before_install:
74
- - curl -# https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.7.2.tar.gz | tar xz -C /tmp
38
+ - curl -s https://download.elasticsearch.org/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/2.4.6/elasticsearch-2.4.6.tar.gz | tar xz -C /tmp
39
+ - curl -s https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.7.tar.gz | tar xz -C /tmp
75
40
  before_script:
76
- - TEST_CLUSTER_COMMAND="/tmp/elasticsearch-1.7.2/bin/elasticsearch" rake elasticsearch:start
41
+ - /tmp/elasticsearch-2.4.6/bin/plugin install delete-by-query
42
+ - TEST_CLUSTER_COMMAND=/tmp/elasticsearch-$ES_VERSION/bin/elasticsearch TEST_CLUSTER_LOGS=/tmp/log rake es:start
43
+ script:
44
+ - bundle exec rspec
45
+ - bundle exec rubocop
data/.yardopts ADDED
@@ -0,0 +1,5 @@
1
+ --markup-provider=redcarpet
2
+ --markup=markdown
3
+ -
4
+ README.md
5
+ CHANGELOG.md
data/Appraisals CHANGED
@@ -1,76 +1,81 @@
1
- %w(3.2 4.0 4.1 4.2).each do |version|
2
- appraise "rails.#{version}.activerecord" do
3
- gem 'activerecord', "~> #{version}.0"
4
- gem 'activesupport', "~> #{version}.0"
5
- gem 'activejob', "~> #{version}.0" if version >= '4.2'
1
+ %w[4.0 4.1 4.2].each do |activesupport|
2
+ appraise "rails.#{activesupport}.activerecord" do
3
+ gem 'activerecord', "~> #{activesupport}.0"
4
+ gem 'activesupport', "~> #{activesupport}.0"
5
+
6
+ gem 'activejob', "~> #{activesupport}.0" if activesupport >= '4.2'
6
7
  gem 'resque', require: false
8
+ gem 'shoryuken', require: false
9
+ gem 'aws-sdk-sqs', require: false
7
10
  gem 'sidekiq', require: false
8
- end
9
-
10
- appraise "rails.#{version}.activerecord.kaminari" do
11
- gem 'activerecord', "~> #{version}.0"
12
- gem 'activesupport', "~> #{version}.0"
13
- gem 'activejob', "~> #{version}.0" if version >= '4.2'
14
- gem 'kaminari', '0.16.3', require: false
15
- end
16
11
 
17
- appraise "rails.#{version}.activerecord.will_paginate" do
18
- gem 'activerecord', "~> #{version}.0"
19
- gem 'activesupport', "~> #{version}.0"
20
- gem 'activejob', "~> #{version}.0" if version >= '4.2'
12
+ gem 'kaminari', '~> 0.17.0', require: false
21
13
  gem 'will_paginate', require: false
14
+
15
+ gem 'parallel', require: false
22
16
  end
23
17
  end
24
18
 
25
- '5.0.0.beta3'.tap do |version|
26
- appraise "rails.#{version}.activerecord" do
27
- gem 'activerecord', "~> #{version}"
28
- gem 'activesupport', "~> #{version}"
29
- gem 'activejob', "~> #{version}"
19
+ %w[5.0 5.1 5.2].each do |activesupport|
20
+ appraise "rails.#{activesupport}.activerecord" do
21
+ gem 'activerecord', "~> #{activesupport}.0"
22
+ gem 'activesupport', "~> #{activesupport}.0"
23
+
24
+ gem 'activejob', "~> #{activesupport}.0"
30
25
  gem 'resque', require: false
26
+ gem 'shoryuken', require: false
27
+ gem 'aws-sdk-sqs', require: false
31
28
  gem 'sidekiq', require: false
32
- end
33
29
 
34
- appraise "rails.#{version}.activerecord.kaminari" do
35
- gem 'activerecord', "~> #{version}"
36
- gem 'activesupport', "~> #{version}"
37
- gem 'activejob', "~> #{version}"
38
- gem 'actionpack', "~> #{version}"
39
- gem 'kaminari', '0.16.3', require: false
40
- end
41
-
42
- appraise "rails.#{version}.activerecord.will_paginate" do
43
- gem 'activerecord', "~> #{version}"
44
- gem 'activesupport', "~> #{version}"
45
- gem 'activejob', "~> #{version}" if version >= '4.2'
30
+ gem 'kaminari-core', '~> 1.1.0', require: false
46
31
  gem 'will_paginate', require: false
32
+
33
+ gem 'parallel', require: false
47
34
  end
48
35
  end
49
36
 
50
- %w(4.0 4.1 4.2).each do |activesupport|
51
- %w(4.0.0 5.1.0).each do |mongoid|
52
- appraise "rails.#{activesupport}.mongoid.#{mongoid}" do
53
- gem 'mongoid', "> #{mongoid}"
54
- gem 'activesupport', "~> #{activesupport}.0"
55
- gem 'resque', require: false
56
- gem 'sidekiq', require: false
57
- end
58
-
59
- appraise "rails.#{activesupport}.mongoid.#{mongoid}.kaminari" do
60
- gem 'mongoid', "> #{mongoid}"
61
- gem 'activesupport', "~> #{activesupport}.0"
62
- gem 'kaminari', '0.16.3', require: false
63
- end
64
-
65
- appraise "rails.#{activesupport}.mongoid.#{mongoid}.will_paginate" do
66
- gem 'mongoid', "> #{mongoid}"
67
- gem 'activesupport', "~> #{activesupport}.0"
68
- gem 'will_paginate', require: false
69
- end
37
+ appraise 'rails.4.2.mongoid.5.2' do
38
+ gem 'mongoid', '~> 5.2.0'
39
+ gem 'activesupport', '~> 4.2.0'
40
+
41
+ gem 'activejob', '~> 4.2.0'
42
+ gem 'resque', require: false
43
+ gem 'shoryuken', require: false
44
+ gem 'aws-sdk-sqs', require: false
45
+ gem 'sidekiq', require: false
46
+
47
+ gem 'kaminari', '~> 0.17.0', require: false
48
+ gem 'will_paginate', require: false
49
+
50
+ gem 'parallel', require: false
51
+ end
52
+
53
+ {'5.0' => '6.1', '5.1' => '6.3'}.each do |activesupport, mongoid|
54
+ appraise "rails.#{activesupport}.mongoid.#{mongoid}" do
55
+ gem 'mongoid', "~> #{mongoid}.0"
56
+ gem 'activesupport', "~> #{activesupport}.0"
57
+
58
+ gem 'activejob', "~> #{activesupport}.0"
59
+ gem 'resque', require: false
60
+ gem 'shoryuken', require: false
61
+ gem 'aws-sdk-sqs', require: false
62
+ gem 'sidekiq', require: false
63
+
64
+ gem 'kaminari-core', '~> 1.1.0', require: false
65
+ gem 'will_paginate', require: false
66
+
67
+ gem 'parallel', require: false
70
68
  end
71
69
  end
72
70
 
73
- appraise "sequel.4.31" do
74
- gem 'sequel', "~> 4.31.0"
75
- gem 'activesupport', '~> 4.2.0'
71
+ %w[4.45].each do |sequel|
72
+ appraise "sequel.#{sequel}" do
73
+ gem 'sequel', "~> #{sequel}.0"
74
+ gem 'activesupport', '~> 5.1.0'
75
+
76
+ gem 'kaminari-core', '~> 1.1.0', require: false
77
+ gem 'will_paginate', require: false
78
+
79
+ gem 'parallel', require: false
80
+ end
76
81
  end
data/CHANGELOG.md CHANGED
@@ -1,5 +1,162 @@
1
1
  # master
2
2
 
3
+ # Version 5.1.0
4
+
5
+ ## Breaking changes
6
+
7
+ * Add support for multiple indices in request (@pyromaniac, #657)
8
+
9
+ * Support `search_type`, `request_cache`, and `allow_partial_search_results` as query string parameters (@mattzollinhofer, #647)
10
+
11
+ ## Changes
12
+
13
+ * Speed up imports when `bulk_size` is specified (@yahooguntu, #606)
14
+
15
+ * Insert `RequestStrategy` middleware before `ActionDispatch::ShowExceptions` (@dck, #682)
16
+
17
+ # Version 5.0.0
18
+
19
+ ## Breaking changes
20
+
21
+ * Try to align the gem version with the ElasticSearch version we support
22
+
23
+ * `Chewy.default_field_type` is `text` now.
24
+
25
+ * `Chewy::Stash` was split onto two indexes - `Chewy::Stash::Specification` and `Chewy::Stash::Journal`
26
+
27
+ * Data for journal and specification is stored in binary fields base64-encoded to bypass the limits of other fields.
28
+
29
+ * Don't underscore suggested index name (@dm1try, #626)
30
+
31
+ ## Changes
32
+
33
+ * `pipeline` import option support (@eManPrague, #598)
34
+
35
+ * Proper Rails check (@nattfodd, #625)
36
+
37
+ * Bypass strategy performance improvements (@DNNX, #623)
38
+
39
+ * Avoid index update calls for empty data (@robertasg, #620)
40
+
41
+ * Do not underscore suggested index name on `Chewy::Index.index_name` call.
42
+
43
+ * It is possible now to call `root` method several times inside a single type definition, the options will be merged. Also, the block isn't required anymore.
44
+
45
+ * Fixed some Sequel deprecation warnings (@arturtr - #565, @matchbookmac - #577)
46
+
47
+ ## Bugfixes
48
+
49
+ * Fixed index settings logic error (@yahooguntu, #593)
50
+
51
+ * Missed check in higlight method (@heartfulbird, #567)
52
+
53
+ # Version 0.10.1
54
+
55
+ ## Changes
56
+
57
+ * Improved parallel worker titles (#558)
58
+
59
+ ## Bugfixes
60
+
61
+ * Fixed request strategy initial debug message (#557)
62
+
63
+ * Fixed will objects paginated array initialization when pagination was not used (#556)
64
+
65
+ * Fixed fields symbol/string value (#555)
66
+
67
+ * Fixed root field value proc (#554)
68
+
69
+ # Version 0.10.0
70
+
71
+ ## Breaking changes
72
+
73
+ * Changed behavior of `Chewy::Index.index_name`, it doesn't cache the values anymore.
74
+
75
+ * Journal interfaces, related code and rake tasks were completely refactored and are not compatible with the previous version.
76
+
77
+ ## Changes
78
+
79
+ * Less noisy strategies logging (@Borzik, #543)
80
+
81
+ * Parallel import and the corresponding rake tasks.
82
+
83
+ * `:shoryuken` async strategy (@josephchoe, #532)
84
+
85
+ * Deprecate `Chewy::Index.build_index_name`.
86
+
87
+ * Rename `Chewy::Index.default_prefix` to `Chewy::Index.prefix`. The old one is deprecated.
88
+
89
+ * Add `Chewy::Type.derivable_name` for consistency.
90
+
91
+ * Rename `Chewy::Index.derivable_index_name` to `Chewy::Index.derivable_name`.
92
+ `Chewy::Index.derivable_index_name` and `Chewy::Type.derivable_index_name` are deprecated.
93
+
94
+ * Use normal YAML loading, for the config, we don't need the safe one.
95
+
96
+ * `default_root_options` option (@barthez, #526)
97
+
98
+ * Partial indexing ability: it is possible to update only specified fields.
99
+
100
+ * New cool `rake chewy:deploy` task.
101
+
102
+ * Selective reset (resets only if necessary): `rake chewy:upgrade`.
103
+
104
+ * Consistency checks and synchronization: `rake chewy:sync`.
105
+
106
+ * Brand new request DSL. Supports ElasticSearch 2 and 5, better usability, architecture and docs.
107
+
108
+ * Add Kaminari 1.0 support.
109
+
110
+ * `skip_index_creation_on_import` option (@sergey-kintsel, #483)
111
+
112
+ * Ability to use procs for settings (@parallel588, #481)
113
+
114
+ * Bulk indexing optimizations with new additional options (@eproulx-petalmd, #467)
115
+
116
+ * Configurable sidekiq options (@averell23, #438)
117
+
118
+ # Version 0.9.0
119
+
120
+ ## Changes
121
+
122
+ * Add `preference` param to Query (@menglewis, #443)
123
+
124
+ * Add the `track_scores` option to the query; `_score` to be computed and tracked even when there are no `_score` in sort. (@dmitry, #417)
125
+
126
+ * Confugurable `Chewy.indices_path` (@robacarp, #414, #433, #439)
127
+
128
+ * [Journaling](https://github.com/toptal/chewy/#journaling) implementation (@sergey-kintsel, #409, #425, #428, #432, #434, #463)
129
+
130
+ * Minitest helpers (@robacarp, #396)
131
+
132
+ * `Chewy::Query#unlimited` to fetch all the documents (@sergey-kintsel, #393)
133
+
134
+ * `Chewy::Query#exists?` (@sergey-kintsel, #386)
135
+
136
+ * Import otimizations (#381, #376)
137
+
138
+ * Additional import optimization technique - [raw import](https://github.com/toptal/chewy/#raw-import) (@DNNX, #375)
139
+
140
+ * `weight` scoring dunction was added to the search DSL (@sevab, #380)
141
+
142
+ * Rake tasks support multiple indexes and exceptions: `rake chewy:reset[users,projects]`, `rake chewy:update[-projects]`
143
+
144
+ * Witchcraft™ supports dynamically generated procs with variables from closure.
145
+
146
+ * Added `Query#preference` for specifying shard replicas to query against. (@menglewis)
147
+
148
+ ## Bugfixes
149
+
150
+ * `.script_fields` method in the Index class (@dmitry, #415)
151
+
152
+ * Fix routing_missing_exception on delete with parent missing (@guigs, #398)
153
+
154
+ * Sequesl custom primary keys handling fix (@okliv, #385)
155
+
156
+ * Bulk import fixes (@0x0badc0de, #374)
157
+
158
+ # Version 0.8.4
159
+
3
160
  ## Changes
4
161
 
5
162
  * Brand new import `:bulk_size` option, set desired ElasticSearch bulk size in bytes
@@ -42,6 +199,12 @@
42
199
 
43
200
  # Version 0.8.3
44
201
 
202
+ ## Breaking changes:
203
+
204
+ * `Chewy.atomic` and `Chewy.urgent_update=` methods was removed from the codebase, use `Chewy.strategy` block instead.
205
+
206
+ * `delete_from_index?` hook is removed from the codebase.
207
+
45
208
  ## Changes
46
209
 
47
210
  * Sequel support completely reworked to use common ORM implementations + better sequel specs covarage.
@@ -58,12 +221,6 @@
58
221
 
59
222
  * Correct custom assets path silencer (@davekaro)
60
223
 
61
- ## Incompatible changes:
62
-
63
- * `Chewy.atomic` and `Chewy.urgent_update=` methods was removed from the codebase, use `Chewy.strategy` block instead.
64
-
65
- * `delete_from_index?` hook is removed from the codebase.
66
-
67
224
  # Version 0.8.2
68
225
 
69
226
  ## Changes
@@ -99,7 +256,7 @@
99
256
 
100
257
  # Version 0.8.0
101
258
 
102
- ## Incompatible changes:
259
+ ## Breaking changes:
103
260
 
104
261
  * `:atomic` and `:urgent` strategies are using `import!` method raising exceptions
105
262
 
@@ -125,7 +282,7 @@
125
282
 
126
283
  # Version 0.7.0
127
284
 
128
- ## Incompatible changes:
285
+ ## Breaking changes:
129
286
 
130
287
  * `Chewy.use_after_commit_callbacks = false` returns previous RDBMS behavior
131
288
  in tests
@@ -254,7 +411,7 @@
254
411
 
255
412
  * `min_score` query option support (@jshirley)
256
413
 
257
- * `Chewy::Query#find` method for finding records by id
414
+ * `Chewy::Query#find` method for finding documents by id
258
415
 
259
416
  # Version 0.6.0
260
417
 
@@ -274,7 +431,7 @@
274
431
 
275
432
  # Version 0.5.2
276
433
 
277
- ## Incompatible changes:
434
+ ## Breaking changes:
278
435
 
279
436
  * `Chewy::Type::Base` removed in favour of using `Chewy::Type` as a base class for all types
280
437
 
@@ -314,7 +471,7 @@
314
471
 
315
472
  # Version 0.5.0
316
473
 
317
- ## Incompatible changes:
474
+ ## Breaking changes:
318
475
 
319
476
  * 404 exception (IndexMissingException) while query is swallowed and treated like an empty result set.
320
477
 
data/Gemfile CHANGED
@@ -6,14 +6,21 @@ gem 'activerecord'
6
6
  # gem 'mongoid'
7
7
  # gem 'sequel'
8
8
 
9
- # gem 'kaminari', require: false
10
- # gem 'will_paginate', require: false
9
+ gem 'activejob', require: false
10
+ gem 'resque', require: false
11
+ gem 'sidekiq', require: false
11
12
 
12
- # gem 'resque', require: false
13
- # gem 'sidekiq', require: false
14
- # gem 'activejob', require: false
13
+ gem 'aws-sdk-sqs', require: false
14
+ gem 'shoryuken', require: false
15
15
 
16
- group :test do
17
- gem 'guard'
18
- gem 'guard-rspec'
19
- end
16
+ gem 'kaminari-core', require: false
17
+ gem 'will_paginate', require: false
18
+
19
+ gem 'parallel', require: false
20
+ gem 'ruby-progressbar', require: false
21
+
22
+ gem 'guard'
23
+ gem 'guard-rspec'
24
+
25
+ gem 'redcarpet'
26
+ gem 'yard'
data/Guardfile CHANGED
@@ -4,20 +4,20 @@
4
4
  guard :rspec, cmd: 'rspec' do
5
5
  watch(%r{^spec/.+_spec\.rb$})
6
6
  watch(%r{^lib/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
7
- watch('spec/spec_helper.rb') { "spec" }
7
+ watch('spec/spec_helper.rb') { 'spec' }
8
8
 
9
9
  # Rails example
10
10
  watch(%r{^app/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
11
11
  watch(%r{^app/(.*)(\.erb|\.haml|\.slim)$}) { |m| "spec/#{m[1]}#{m[2]}_spec.rb" }
12
12
  watch(%r{^app/controllers/(.+)_(controller)\.rb$}) { |m| ["spec/routing/#{m[1]}_routing_spec.rb", "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", "spec/acceptance/#{m[1]}_spec.rb"] }
13
- watch(%r{^spec/support/(.+)\.rb$}) { "spec" }
14
- watch('config/routes.rb') { "spec/routing" }
15
- watch('app/controllers/application_controller.rb') { "spec/controllers" }
13
+ watch(%r{^spec/support/(.+)\.rb$}) { 'spec' }
14
+ watch('config/routes.rb') { 'spec/routing' }
15
+ watch('app/controllers/application_controller.rb') { 'spec/controllers' }
16
16
 
17
17
  # Capybara features specs
18
18
  watch(%r{^app/views/(.+)/.*\.(erb|haml|slim)$}) { |m| "spec/features/#{m[1]}_spec.rb" }
19
19
 
20
20
  # Turnip features and steps
21
21
  watch(%r{^spec/acceptance/(.+)\.feature$})
22
- watch(%r{^spec/acceptance/steps/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'spec/acceptance' }
22
+ watch(%r{^spec/acceptance/steps/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'spec/acceptance' }
23
23
  end