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.
- checksums.yaml +5 -5
- data/.gitignore +1 -0
- data/.rubocop.yml +56 -0
- data/.rubocop_todo.yml +44 -0
- data/.travis.yml +36 -67
- data/.yardopts +5 -0
- data/Appraisals +63 -58
- data/CHANGELOG.md +168 -11
- data/Gemfile +16 -9
- data/Guardfile +5 -5
- data/LEGACY_DSL.md +497 -0
- data/README.md +403 -470
- data/Rakefile +11 -1
- data/chewy.gemspec +12 -15
- data/gemfiles/rails.4.0.activerecord.gemfile +9 -9
- data/gemfiles/rails.4.1.activerecord.gemfile +9 -9
- data/gemfiles/rails.4.2.activerecord.gemfile +8 -8
- data/gemfiles/rails.4.2.mongoid.5.2.gemfile +16 -0
- data/gemfiles/rails.5.0.activerecord.gemfile +16 -0
- data/gemfiles/rails.5.0.mongoid.6.1.gemfile +16 -0
- data/gemfiles/rails.5.1.activerecord.gemfile +16 -0
- data/gemfiles/rails.5.1.mongoid.6.3.gemfile +16 -0
- data/gemfiles/rails.5.2.activerecord.gemfile +16 -0
- data/gemfiles/sequel.4.45.gemfile +11 -0
- data/lib/chewy/backports/deep_dup.rb +1 -1
- data/lib/chewy/backports/duplicable.rb +1 -0
- data/lib/chewy/config.rb +53 -21
- data/lib/chewy/errors.rb +6 -6
- data/lib/chewy/fields/base.rb +59 -29
- data/lib/chewy/fields/root.rb +49 -14
- data/lib/chewy/index/actions.rb +95 -36
- data/lib/chewy/index/aliases.rb +2 -1
- data/lib/chewy/index/settings.rb +10 -5
- data/lib/chewy/index/specification.rb +60 -0
- data/lib/chewy/index.rb +239 -138
- data/lib/chewy/journal.rb +55 -0
- data/lib/chewy/log_subscriber.rb +8 -8
- data/lib/chewy/minitest/helpers.rb +77 -0
- data/lib/chewy/minitest/search_index_receiver.rb +80 -0
- data/lib/chewy/minitest.rb +1 -0
- data/lib/chewy/query/compose.rb +18 -19
- data/lib/chewy/query/criteria.rb +34 -24
- data/lib/chewy/query/filters.rb +28 -11
- data/lib/chewy/query/loading.rb +3 -4
- data/lib/chewy/query/nodes/and.rb +1 -1
- data/lib/chewy/query/nodes/base.rb +1 -1
- data/lib/chewy/query/nodes/bool.rb +6 -4
- data/lib/chewy/query/nodes/equal.rb +4 -4
- data/lib/chewy/query/nodes/exists.rb +1 -1
- data/lib/chewy/query/nodes/expr.rb +2 -2
- data/lib/chewy/query/nodes/field.rb +35 -31
- data/lib/chewy/query/nodes/has_child.rb +1 -0
- data/lib/chewy/query/nodes/has_parent.rb +1 -0
- data/lib/chewy/query/nodes/has_relation.rb +10 -12
- data/lib/chewy/query/nodes/missing.rb +1 -1
- data/lib/chewy/query/nodes/not.rb +1 -1
- data/lib/chewy/query/nodes/or.rb +1 -1
- data/lib/chewy/query/nodes/prefix.rb +3 -2
- data/lib/chewy/query/nodes/query.rb +1 -1
- data/lib/chewy/query/nodes/range.rb +9 -9
- data/lib/chewy/query/nodes/raw.rb +1 -1
- data/lib/chewy/query/nodes/regexp.rb +13 -9
- data/lib/chewy/query/nodes/script.rb +4 -4
- data/lib/chewy/query/pagination.rb +10 -1
- data/lib/chewy/query.rb +286 -170
- data/lib/chewy/railtie.rb +7 -6
- data/lib/chewy/rake_helper.rb +275 -37
- data/lib/chewy/repository.rb +2 -2
- data/lib/chewy/rspec/update_index.rb +70 -65
- data/lib/chewy/rspec.rb +1 -1
- data/lib/chewy/runtime/version.rb +4 -4
- data/lib/chewy/search/loader.rb +83 -0
- data/lib/chewy/{query → search}/pagination/kaminari.rb +13 -5
- data/lib/chewy/search/pagination/will_paginate.rb +43 -0
- data/lib/chewy/search/parameters/aggs.rb +16 -0
- data/lib/chewy/search/parameters/allow_partial_search_results.rb +27 -0
- data/lib/chewy/search/parameters/concerns/bool_storage.rb +24 -0
- data/lib/chewy/search/parameters/concerns/hash_storage.rb +23 -0
- data/lib/chewy/search/parameters/concerns/integer_storage.rb +14 -0
- data/lib/chewy/search/parameters/concerns/query_storage.rb +238 -0
- data/lib/chewy/search/parameters/concerns/string_array_storage.rb +23 -0
- data/lib/chewy/search/parameters/concerns/string_storage.rb +14 -0
- data/lib/chewy/search/parameters/docvalue_fields.rb +12 -0
- data/lib/chewy/search/parameters/explain.rb +16 -0
- data/lib/chewy/search/parameters/filter.rb +47 -0
- data/lib/chewy/search/parameters/highlight.rb +16 -0
- data/lib/chewy/search/parameters/indices.rb +123 -0
- data/lib/chewy/search/parameters/indices_boost.rb +52 -0
- data/lib/chewy/search/parameters/limit.rb +17 -0
- data/lib/chewy/search/parameters/load.rb +32 -0
- data/lib/chewy/search/parameters/min_score.rb +16 -0
- data/lib/chewy/search/parameters/none.rb +27 -0
- data/lib/chewy/search/parameters/offset.rb +17 -0
- data/lib/chewy/search/parameters/order.rb +64 -0
- data/lib/chewy/search/parameters/post_filter.rb +19 -0
- data/lib/chewy/search/parameters/preference.rb +16 -0
- data/lib/chewy/search/parameters/profile.rb +16 -0
- data/lib/chewy/search/parameters/query.rb +19 -0
- data/lib/chewy/search/parameters/request_cache.rb +27 -0
- data/lib/chewy/search/parameters/rescore.rb +29 -0
- data/lib/chewy/search/parameters/script_fields.rb +16 -0
- data/lib/chewy/search/parameters/search_after.rb +20 -0
- data/lib/chewy/search/parameters/search_type.rb +16 -0
- data/lib/chewy/search/parameters/source.rb +73 -0
- data/lib/chewy/search/parameters/storage.rb +95 -0
- data/lib/chewy/search/parameters/stored_fields.rb +63 -0
- data/lib/chewy/search/parameters/suggest.rb +16 -0
- data/lib/chewy/search/parameters/terminate_after.rb +16 -0
- data/lib/chewy/search/parameters/timeout.rb +16 -0
- data/lib/chewy/search/parameters/track_scores.rb +16 -0
- data/lib/chewy/search/parameters/types.rb +20 -0
- data/lib/chewy/search/parameters/version.rb +16 -0
- data/lib/chewy/search/parameters.rb +167 -0
- data/lib/chewy/search/query_proxy.rb +257 -0
- data/lib/chewy/search/request.rb +1045 -0
- data/lib/chewy/search/response.rb +119 -0
- data/lib/chewy/search/scoping.rb +50 -0
- data/lib/chewy/search/scrolling.rb +134 -0
- data/lib/chewy/search.rb +81 -26
- data/lib/chewy/stash.rb +79 -0
- data/lib/chewy/strategy/active_job.rb +1 -0
- data/lib/chewy/strategy/atomic.rb +2 -4
- data/lib/chewy/strategy/base.rb +4 -4
- data/lib/chewy/strategy/bypass.rb +1 -2
- data/lib/chewy/strategy/resque.rb +1 -0
- data/lib/chewy/strategy/shoryuken.rb +40 -0
- data/lib/chewy/strategy/sidekiq.rb +13 -1
- data/lib/chewy/strategy/urgent.rb +1 -1
- data/lib/chewy/strategy.rb +19 -10
- data/lib/chewy/type/actions.rb +26 -2
- data/lib/chewy/type/adapter/active_record.rb +50 -24
- data/lib/chewy/type/adapter/base.rb +29 -9
- data/lib/chewy/type/adapter/mongoid.rb +19 -10
- data/lib/chewy/type/adapter/object.rb +195 -31
- data/lib/chewy/type/adapter/orm.rb +69 -33
- data/lib/chewy/type/adapter/sequel.rb +37 -19
- data/lib/chewy/type/crutch.rb +5 -4
- data/lib/chewy/type/import/bulk_builder.rb +122 -0
- data/lib/chewy/type/import/bulk_request.rb +78 -0
- data/lib/chewy/type/import/journal_builder.rb +45 -0
- data/lib/chewy/type/import/routine.rb +138 -0
- data/lib/chewy/type/import.rb +150 -176
- data/lib/chewy/type/mapping.rb +58 -42
- data/lib/chewy/type/observe.rb +21 -15
- data/lib/chewy/type/syncer.rb +222 -0
- data/lib/chewy/type/witchcraft.rb +89 -34
- data/lib/chewy/type/wrapper.rb +48 -16
- data/lib/chewy/type.rb +77 -49
- data/lib/chewy/version.rb +1 -1
- data/lib/chewy.rb +95 -52
- data/lib/generators/chewy/install_generator.rb +3 -3
- data/lib/sequel/plugins/chewy_observe.rb +4 -19
- data/lib/tasks/chewy.rake +91 -28
- data/spec/chewy/config_spec.rb +130 -12
- data/spec/chewy/fields/base_spec.rb +194 -172
- data/spec/chewy/fields/root_spec.rb +123 -17
- data/spec/chewy/fields/time_fields_spec.rb +10 -9
- data/spec/chewy/index/actions_spec.rb +228 -43
- data/spec/chewy/index/aliases_spec.rb +2 -2
- data/spec/chewy/index/settings_spec.rb +100 -49
- data/spec/chewy/index/specification_spec.rb +169 -0
- data/spec/chewy/index_spec.rb +159 -63
- data/spec/chewy/journal_spec.rb +268 -0
- data/spec/chewy/minitest/helpers_spec.rb +90 -0
- data/spec/chewy/minitest/search_index_receiver_spec.rb +120 -0
- data/spec/chewy/query/criteria_spec.rb +503 -236
- data/spec/chewy/query/filters_spec.rb +96 -68
- data/spec/chewy/query/loading_spec.rb +80 -42
- data/spec/chewy/query/nodes/and_spec.rb +3 -7
- data/spec/chewy/query/nodes/bool_spec.rb +5 -13
- data/spec/chewy/query/nodes/equal_spec.rb +20 -20
- data/spec/chewy/query/nodes/exists_spec.rb +7 -7
- data/spec/chewy/query/nodes/has_child_spec.rb +42 -23
- data/spec/chewy/query/nodes/has_parent_spec.rb +42 -23
- data/spec/chewy/query/nodes/match_all_spec.rb +2 -2
- data/spec/chewy/query/nodes/missing_spec.rb +6 -5
- data/spec/chewy/query/nodes/not_spec.rb +5 -7
- data/spec/chewy/query/nodes/or_spec.rb +3 -7
- data/spec/chewy/query/nodes/prefix_spec.rb +6 -6
- data/spec/chewy/query/nodes/query_spec.rb +3 -3
- data/spec/chewy/query/nodes/range_spec.rb +19 -19
- data/spec/chewy/query/nodes/raw_spec.rb +2 -2
- data/spec/chewy/query/nodes/regexp_spec.rb +31 -19
- data/spec/chewy/query/nodes/script_spec.rb +5 -5
- data/spec/chewy/query/pagination/kaminari_spec.rb +3 -55
- data/spec/chewy/query/pagination/will_paginate_spec.rb +5 -0
- data/spec/chewy/query/pagination_spec.rb +25 -22
- data/spec/chewy/query_spec.rb +510 -505
- data/spec/chewy/rake_helper_spec.rb +381 -0
- data/spec/chewy/repository_spec.rb +8 -8
- data/spec/chewy/rspec/update_index_spec.rb +215 -113
- data/spec/chewy/runtime_spec.rb +2 -2
- data/spec/chewy/search/loader_spec.rb +117 -0
- data/spec/chewy/search/pagination/kaminari_examples.rb +71 -0
- data/spec/chewy/search/pagination/kaminari_spec.rb +21 -0
- data/spec/chewy/search/pagination/will_paginate_examples.rb +63 -0
- data/spec/chewy/search/pagination/will_paginate_spec.rb +23 -0
- data/spec/chewy/search/parameters/aggs_spec.rb +5 -0
- data/spec/chewy/search/parameters/bool_storage_examples.rb +53 -0
- data/spec/chewy/search/parameters/docvalue_fields_spec.rb +5 -0
- data/spec/chewy/search/parameters/explain_spec.rb +5 -0
- data/spec/chewy/search/parameters/filter_spec.rb +5 -0
- data/spec/chewy/search/parameters/hash_storage_examples.rb +59 -0
- data/spec/chewy/search/parameters/highlight_spec.rb +5 -0
- data/spec/chewy/search/parameters/indices_spec.rb +191 -0
- data/spec/chewy/search/parameters/integer_storage_examples.rb +32 -0
- data/spec/chewy/search/parameters/limit_spec.rb +5 -0
- data/spec/chewy/search/parameters/load_spec.rb +60 -0
- data/spec/chewy/search/parameters/min_score_spec.rb +32 -0
- data/spec/chewy/search/parameters/none_spec.rb +5 -0
- data/spec/chewy/search/parameters/offset_spec.rb +5 -0
- data/spec/chewy/search/parameters/order_spec.rb +65 -0
- data/spec/chewy/search/parameters/post_filter_spec.rb +5 -0
- data/spec/chewy/search/parameters/preference_spec.rb +5 -0
- data/spec/chewy/search/parameters/profile_spec.rb +5 -0
- data/spec/chewy/search/parameters/query_spec.rb +5 -0
- data/spec/chewy/search/parameters/query_storage_examples.rb +388 -0
- data/spec/chewy/search/parameters/request_cache_spec.rb +67 -0
- data/spec/chewy/search/parameters/rescore_spec.rb +62 -0
- data/spec/chewy/search/parameters/script_fields_spec.rb +5 -0
- data/spec/chewy/search/parameters/search_after_spec.rb +32 -0
- data/spec/chewy/search/parameters/search_type_spec.rb +5 -0
- data/spec/chewy/search/parameters/source_spec.rb +156 -0
- data/spec/chewy/search/parameters/storage_spec.rb +60 -0
- data/spec/chewy/search/parameters/stored_fields_spec.rb +126 -0
- data/spec/chewy/search/parameters/string_array_storage_examples.rb +63 -0
- data/spec/chewy/search/parameters/string_storage_examples.rb +32 -0
- data/spec/chewy/search/parameters/suggest_spec.rb +5 -0
- data/spec/chewy/search/parameters/terminate_after_spec.rb +5 -0
- data/spec/chewy/search/parameters/timeout_spec.rb +5 -0
- data/spec/chewy/search/parameters/track_scores_spec.rb +5 -0
- data/spec/chewy/search/parameters/types_spec.rb +5 -0
- data/spec/chewy/search/parameters/version_spec.rb +5 -0
- data/spec/chewy/search/parameters_spec.rb +145 -0
- data/spec/chewy/search/query_proxy_spec.rb +68 -0
- data/spec/chewy/search/request_spec.rb +685 -0
- data/spec/chewy/search/response_spec.rb +192 -0
- data/spec/chewy/search/scrolling_spec.rb +169 -0
- data/spec/chewy/search_spec.rb +37 -20
- data/spec/chewy/stash_spec.rb +95 -0
- data/spec/chewy/strategy/active_job_spec.rb +8 -2
- data/spec/chewy/strategy/atomic_spec.rb +4 -1
- data/spec/chewy/strategy/resque_spec.rb +8 -2
- data/spec/chewy/strategy/shoryuken_spec.rb +66 -0
- data/spec/chewy/strategy/sidekiq_spec.rb +10 -2
- data/spec/chewy/strategy_spec.rb +6 -6
- data/spec/chewy/type/actions_spec.rb +29 -10
- data/spec/chewy/type/adapter/active_record_spec.rb +357 -139
- data/spec/chewy/type/adapter/mongoid_spec.rb +220 -101
- data/spec/chewy/type/adapter/object_spec.rb +129 -40
- data/spec/chewy/type/adapter/sequel_spec.rb +304 -152
- data/spec/chewy/type/import/bulk_builder_spec.rb +279 -0
- data/spec/chewy/type/import/bulk_request_spec.rb +102 -0
- data/spec/chewy/type/import/journal_builder_spec.rb +95 -0
- data/spec/chewy/type/import/routine_spec.rb +110 -0
- data/spec/chewy/type/import_spec.rb +360 -244
- data/spec/chewy/type/mapping_spec.rb +96 -29
- data/spec/chewy/type/observe_spec.rb +25 -15
- data/spec/chewy/type/syncer_spec.rb +123 -0
- data/spec/chewy/type/witchcraft_spec.rb +122 -44
- data/spec/chewy/type/wrapper_spec.rb +63 -23
- data/spec/chewy/type_spec.rb +32 -10
- data/spec/chewy_spec.rb +82 -12
- data/spec/spec_helper.rb +16 -2
- data/spec/support/active_record.rb +6 -2
- data/spec/support/class_helpers.rb +4 -19
- data/spec/support/mongoid.rb +17 -5
- data/spec/support/sequel.rb +6 -1
- metadata +250 -57
- data/gemfiles/rails.3.2.activerecord.gemfile +0 -15
- data/gemfiles/rails.3.2.activerecord.kaminari.gemfile +0 -14
- data/gemfiles/rails.3.2.activerecord.will_paginate.gemfile +0 -14
- data/gemfiles/rails.4.0.activerecord.kaminari.gemfile +0 -14
- data/gemfiles/rails.4.0.activerecord.will_paginate.gemfile +0 -14
- data/gemfiles/rails.4.0.mongoid.4.0.0.gemfile +0 -15
- data/gemfiles/rails.4.0.mongoid.4.0.0.kaminari.gemfile +0 -14
- data/gemfiles/rails.4.0.mongoid.4.0.0.will_paginate.gemfile +0 -14
- data/gemfiles/rails.4.0.mongoid.5.1.0.gemfile +0 -15
- data/gemfiles/rails.4.0.mongoid.5.1.0.kaminari.gemfile +0 -14
- data/gemfiles/rails.4.0.mongoid.5.1.0.will_paginate.gemfile +0 -14
- data/gemfiles/rails.4.1.activerecord.kaminari.gemfile +0 -14
- data/gemfiles/rails.4.1.activerecord.will_paginate.gemfile +0 -14
- data/gemfiles/rails.4.1.mongoid.4.0.0.gemfile +0 -15
- data/gemfiles/rails.4.1.mongoid.4.0.0.kaminari.gemfile +0 -14
- data/gemfiles/rails.4.1.mongoid.4.0.0.will_paginate.gemfile +0 -14
- data/gemfiles/rails.4.1.mongoid.5.1.0.gemfile +0 -15
- data/gemfiles/rails.4.1.mongoid.5.1.0.kaminari.gemfile +0 -14
- data/gemfiles/rails.4.1.mongoid.5.1.0.will_paginate.gemfile +0 -14
- data/gemfiles/rails.4.2.activerecord.kaminari.gemfile +0 -15
- data/gemfiles/rails.4.2.activerecord.will_paginate.gemfile +0 -15
- data/gemfiles/rails.4.2.mongoid.4.0.0.gemfile +0 -15
- data/gemfiles/rails.4.2.mongoid.4.0.0.kaminari.gemfile +0 -14
- data/gemfiles/rails.4.2.mongoid.4.0.0.will_paginate.gemfile +0 -14
- data/gemfiles/rails.4.2.mongoid.5.1.0.gemfile +0 -15
- data/gemfiles/rails.4.2.mongoid.5.1.0.kaminari.gemfile +0 -14
- data/gemfiles/rails.4.2.mongoid.5.1.0.will_paginate.gemfile +0 -14
- data/gemfiles/rails.5.0.0.beta3.activerecord.gemfile +0 -16
- data/gemfiles/rails.5.0.0.beta3.activerecord.kaminari.gemfile +0 -16
- data/gemfiles/rails.5.0.0.beta3.activerecord.will_paginate.gemfile +0 -15
- data/gemfiles/sequel.4.31.gemfile +0 -13
- data/lib/chewy/query/pagination/will_paginate.rb +0 -27
- data/lib/chewy/query/scoping.rb +0 -20
- data/spec/chewy/query/pagination/will_paginage_spec.rb +0 -60
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 55ee493bcdd9f0f001572ffade6a8fef187fd9fd0a87176dd52f07b18db6ec39
|
|
4
|
+
data.tar.gz: 1ed5e0e4d39c7e8b2202051322c7c312078ba644c62f49c320153d6bd2054ee7
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9fe7425716df8484306cee104f3b3365a9ae36d2e6496b0653b88dd9a13f8e78f48a6d4f579f0e9a2887fb2d36632a1bd970c901d3ba10c87f9fd6405b56327d
|
|
7
|
+
data.tar.gz: f1c81281f0343256c47b20e52bf9363df6bc1c86f3c53e031f4facdb93d223fe6685e74ea3b048b5869a8d0c09ba0a0672c100a303d8b6cabd358e71de141c03
|
data/.gitignore
CHANGED
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.
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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.
|
|
13
|
-
- gemfiles/rails.
|
|
14
|
-
- gemfiles/rails.
|
|
15
|
-
- gemfiles/rails.
|
|
16
|
-
- gemfiles/
|
|
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
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
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
|
|
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
|
-
-
|
|
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
data/Appraisals
CHANGED
|
@@ -1,76 +1,81 @@
|
|
|
1
|
-
%w
|
|
2
|
-
appraise "rails.#{
|
|
3
|
-
gem 'activerecord', "~> #{
|
|
4
|
-
gem 'activesupport', "~> #{
|
|
5
|
-
|
|
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
|
-
|
|
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
|
-
|
|
26
|
-
appraise "rails.#{
|
|
27
|
-
gem 'activerecord', "~> #{
|
|
28
|
-
gem 'activesupport', "~> #{
|
|
29
|
-
|
|
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
|
-
|
|
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
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
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
|
-
|
|
74
|
-
|
|
75
|
-
|
|
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
|
-
##
|
|
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
|
-
##
|
|
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
|
|
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
|
-
##
|
|
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
|
-
##
|
|
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
|
-
|
|
10
|
-
|
|
9
|
+
gem 'activejob', require: false
|
|
10
|
+
gem 'resque', require: false
|
|
11
|
+
gem 'sidekiq', require: false
|
|
11
12
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
# gem 'activejob', require: false
|
|
13
|
+
gem 'aws-sdk-sqs', require: false
|
|
14
|
+
gem 'shoryuken', require: false
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
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') {
|
|
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$}) {
|
|
14
|
-
watch('config/routes.rb') {
|
|
15
|
-
watch('app/controllers/application_controller.rb') {
|
|
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$})
|
|
22
|
+
watch(%r{^spec/acceptance/steps/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'spec/acceptance' }
|
|
23
23
|
end
|