chewy 0.8.4 → 5.1.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 (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