es-elasticity 1.0.1 → 1.2.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8c13e2b279bf48ef4d133c348954b1b8b19c07a9e3f8af7e539d3bf0e359f485
4
- data.tar.gz: d9ca4629b1c2c091fb77cac05213b944ef4d877a845f3d6c8e606a37cfbc6fec
3
+ metadata.gz: 95636a3b634ac2079a268f7475a52d62e64eb75e9544bad28f62dc025002c28a
4
+ data.tar.gz: 9dd0729ed5b52b9aee20ab68a7b782ca226bf2c51ab1672102a00a036bfe3308
5
5
  SHA512:
6
- metadata.gz: 01d086f62d915982aeae1fa1135836f8442c6eb578ff8c6daa1bfcb8bd4d70b0e54647a38e3b8d22fac0a477afc6ff11cfcc832215acca5d93f8db4d70344065
7
- data.tar.gz: 8df1713fd97df4ce332d48a72b6ae9e364a591cc17ca19f6e6a3c621157f595936c84122b8d515ccc18044e2f272da891e2ab22bce4445cc24c00cd112cb74c0
6
+ metadata.gz: 1c9ad50f4ff8aeda310ffa3f1c876298252f410cdbcae586b72877381050f85b2bdf49673f830cadffd1741800bf5b78d336def51b5f6fd1efe39aa1d77d26fa
7
+ data.tar.gz: 81733102f4159be0d4c065be7515f274913f97c04a478e2d71175828d77fd1dfddbc95ac04c3a50deb090de6a40e7ae388a84033923fc20a29169254ada3b8a0
data/.circleci/config.yml CHANGED
@@ -1,225 +1,269 @@
1
- version: 2.1
1
+ version: '2.1'
2
+
3
+ meta:
4
+ ruby-version-matrix: &ruby-version-matrix
5
+ matrix:
6
+ parameters:
7
+ ruby-version:
8
+ - '3.1'
9
+ - '3.2'
10
+ - '3.3'
2
11
 
3
12
  orbs:
4
- gem: doximity/gem-publisher@0
13
+ ci-utils: doximity/ci-utils@2
5
14
 
6
15
  executors:
7
- # used for building the gem
8
- ruby-latest:
16
+ ruby:
17
+ parameters:
18
+ ruby-version:
19
+ type: string
20
+ default: '3.1'
9
21
  resource_class: small
10
22
  docker:
11
- - image: cimg/ruby:3.1
23
+ - image: cimg/ruby:<< parameters.ruby-version >>
12
24
  environment:
13
- BUNDLE_VERSION: '~> 2.3.4'
14
-
15
- # used for testing the gem:
16
- ruby_2_7:
17
- resource_class: small
18
- docker:
19
- - image: cimg/ruby:2.7
25
+ BUNDLE_VERSION: 2.5.23
26
+ - image: docker.elastic.co/elasticsearch/elasticsearch:8.6.2
20
27
  environment:
21
- BUNDLE_VERSION: '~> 2.3.4'
22
- - image: docker.elastic.co/elasticsearch/elasticsearch:7.17.3
23
- environment:
24
- - 'ES_JAVA_OPTS=-Xms512m -Xmx512m'
25
- - discovery.type=single-node
26
- - xpack.security.enabled=false
27
- ruby_3_0:
28
- resource_class: small
29
- docker:
30
- - image: cimg/ruby:3.0
31
- environment:
32
- BUNDLE_VERSION: '~> 2.3.4'
33
- - image: docker.elastic.co/elasticsearch/elasticsearch:7.17.3
34
- environment:
35
- - 'ES_JAVA_OPTS=-Xms512m -Xmx512m'
36
- - discovery.type=single-node
37
- - xpack.security.enabled=false
28
+ discovery.type: single-node
29
+ ES_JAVA_OPTS: "-Xms512m -Xmx512m"
30
+ http.port: 9200
31
+ xpack.security.enabled: false
38
32
 
39
- ruby_3_1:
40
- resource_class: small
41
- docker:
42
- - image: cimg/ruby:3.1
43
- environment:
44
- BUNDLE_VERSION: '~> 2.3.4'
45
- - image: docker.elastic.co/elasticsearch/elasticsearch:7.17.3
46
- environment:
47
- - 'ES_JAVA_OPTS=-Xms512m -Xmx512m'
48
- - discovery.type=single-node
49
- - xpack.security.enabled=false
50
-
51
- # yaml anchor filters
52
- master_only: &master_only
53
- filters:
54
- branches:
55
- only: master
56
- tags:
57
- ignore: /.*/
58
- pr_only: &pr_only
59
- filters:
60
- branches:
61
- ignore: master
62
- tags:
63
- ignore: /.*/
64
- version_tags_only: &version_tags_only
65
- filters:
66
- branches:
67
- ignore: /.*/
68
- tags:
69
- only: /^v.*/
70
-
71
- jobs:
72
- build_2_7:
73
- executor: ruby_2_7
33
+ commands:
34
+ bundle_install:
74
35
  steps:
75
- - checkout
76
36
  - run:
77
37
  name: Install Bundler specific version
78
- command: |
79
- gem install bundler --version "${BUNDLE_VERSION}" --force
80
- - restore_cache:
81
- keys:
82
- - v3-bundle-ruby_2_7-{{ checksum "Gemfile.lock" }}
83
- - run:
84
- name: Install Ruby Dependencies
85
- command: bundle check --path=vendor/bundle || bundle install --local --frozen --path=vendor/bundle --jobs=4 --retry=3
86
- - save_cache:
87
- key: v3-bundle-ruby_2_7-{{ checksum "Gemfile.lock" }}
88
- paths:
89
- - vendor/bundle
90
- - run:
91
- name: Wait for ElasticSearch
92
- command: dockerize -wait http://127.0.0.1:9200 -timeout 1m
38
+ command: gem install bundler --version "$BUNDLE_VERSION" --force
93
39
  - run:
94
- name: Run Tests
95
- command: bundle exec rspec
96
- - persist_to_workspace:
97
- root: .
98
- paths:
99
- - vendor/bundle
100
- build_3_0:
101
- executor: ruby_3_0
102
- steps:
103
- - checkout
104
- - run:
105
- name: Install Bundler specific version
40
+ name: Configure Bundler
106
41
  command: |
107
- gem install bundler --version "${BUNDLE_VERSION}" --force
108
- - restore_cache:
109
- keys:
110
- - v3-bundle-ruby_3_0-{{ checksum "Gemfile.lock" }}
42
+ bundle config set --local cache_path 'vendor/cache'
43
+ bundle config set --local path 'vendor/bundle'
44
+ bundle config set --local jobs 4
45
+ bundle config set --local retry 3
46
+ bundle config set --local timeout 60
47
+ if [ -f "Gemfile.lock" ]; then
48
+ bundle config set --local frozen true
49
+ fi
111
50
  - run:
112
- name: Install Ruby Dependencies
113
- command: bundle check --path=vendor/bundle || bundle install --local --frozen --path=vendor/bundle --jobs=4 --retry=3
114
- - save_cache:
115
- key: v3-bundle-ruby_3_0-{{ checksum "Gemfile.lock" }}
116
- paths:
117
- - vendor/bundle
118
- - run:
119
- name: Wait for ElasticSearch
120
- command: dockerize -wait http://127.0.0.1:9200 -timeout 1m
51
+ name: Log bundle config
52
+ command: bundle config
121
53
  - run:
122
- name: Run Tests
123
- command: bundle exec rspec
124
- - persist_to_workspace:
125
- root: .
126
- paths:
127
- - vendor/bundle
128
-
129
- build_3_1:
130
- executor: ruby_3_1
54
+ name: Install Ruby Dependencies
55
+ command: |
56
+ if [ -d "vendor/cache" ]; then
57
+ bundle install --local --verbose
58
+ else
59
+ bundle install --verbose
60
+ fi
61
+
62
+ run_rspec_tests:
63
+ parameters:
64
+ test_pattern:
65
+ default: "{$(ls -d spec/**/ | tr '\\n' ',' | sed -E 's/(spec\\/|factories|support|\\/|,$)//g' | sed 's/,\\{2,\\}/,/g')}"
66
+ type: string
67
+ test_files:
68
+ default: $(circleci tests glob "spec/$TEST_PATTERN/**/*_spec.rb" | circleci tests split --split-by=timings)
69
+ type: string
70
+ profile-specs:
71
+ type: integer
72
+ default: 0
131
73
  steps:
132
- - checkout
133
74
  - run:
134
- name: Install Bundler specific version
75
+ name: Run RSpec Tests
76
+ environment:
77
+ OUT_PATH: tmp/test-results
78
+ PROFILE_COUNT: "<< parameters.profile-specs >>"
135
79
  command: |
136
- gem install bundler --version "${BUNDLE_VERSION}" --force
137
- - restore_cache:
138
- keys:
139
- - v3-bundle-ruby_3_1-{{ checksum "Gemfile.lock" }}
80
+ shopt -s globstar
81
+ mkdir -p $OUT_PATH
82
+ TEST_PATTERN=<< parameters.test_pattern >>
83
+ TEST_FILES=<< parameters.test_files >>
84
+ RSPEC_COMMAND="bundle exec rspec --profile $PROFILE_COUNT --format RspecJunitFormatter --out $OUT_PATH/results.xml --format progress --order defined $TEST_FILES"
85
+ printf "Executing specs with the following command:\n\n"
86
+ echo ${RSPEC_COMMAND}
87
+ printf "\n"
88
+ ${RSPEC_COMMAND}
89
+ echo "RSpec exited with code $?"
140
90
  - run:
141
- name: Install Ruby Dependencies
142
- command: bundle check --path=vendor/bundle || bundle install --local --frozen --path=vendor/bundle --jobs=4 --retry=3
143
- - save_cache:
144
- key: v3-bundle-ruby_3_1-{{ checksum "Gemfile.lock" }}
145
- paths:
146
- - vendor/bundle
147
- - run:
148
- name: Wait for ElasticSearch
149
- command: dockerize -wait http://127.0.0.1:9200 -timeout 1m
150
- - run:
151
- name: Run Tests
152
- command: bundle exec rspec
153
- - persist_to_workspace:
154
- root: .
155
- paths:
156
- - vendor/bundle
91
+ name: Double check RSpec Failures
92
+ environment:
93
+ OUT_PATH: tmp/test-results
94
+ command: |
95
+ FILE=$OUT_PATH/results.xml
96
+ if [ -f $FILE ]; then
97
+ FAIL_COUNT=$(ruby -r rexml/document -e 'include REXML; puts XPath.first(Document.new($stdin), "string(//testsuite/@failures)")' < $FILE )
98
+ if [ $FAIL_COUNT -gt 0 ]; then
99
+ printf "IF YOU ARE READING THIS, TESTS FAILED BUT \"rspec\" RETURNED A 0 EXIT CODE AND LOOKS GREEN!\n\n"
100
+ printf "PLEASE LOOK AT THE PREVIOUS STEP TITLED \"Run RSpec Tests\" TO SEE SPEC FAILURE INFO!\n\n"
101
+ printf "You may also look at the \"TESTS\" tab, which will show failing spec info.\n\n"
102
+ printf "Additionally, $FILE is available for download and inspection in the \"ARTIFACTS\" tab.\n\n"
103
+ exit 1
104
+ fi
105
+ else
106
+ echo "$FILE not found..."
107
+ exit 0
108
+ fi
109
+ echo "No uncaught RSpec failures detected!"
110
+
111
+ install_gem_version:
112
+ parameters:
113
+ gem-version:
114
+ description: |
115
+ The name and version number (e.g. rails-7.0.3) you want installed, specified to the patch version.
116
+ type: string
117
+ default: ''
118
+ steps:
119
+ - when:
120
+ condition: "<< parameters.gem-version >>"
121
+ steps:
122
+ - run:
123
+ name: Unfreeze Bundle
124
+ command: bundle config set --local frozen 'false'
125
+ - run:
126
+ name: Show prior gem version
127
+ command: |
128
+ read -r target_gemname target_version \<<< $( echo "<< parameters.gem-version >>" | sed 's/\(.*\)-\([0-9]\{1,3\}\(\.[0-9]\{1,3\}\)*\)/\1 \2/g')
129
+ version=$(bundle list | sed -n "s/[[:space:]]*\* $target_gemname (\(.*\))/\1/p")
130
+ if [[ -z "$version" ]]; then
131
+ echo "No prior version of ${target_gemname} found."
132
+ else
133
+ echo $version;
134
+ fi
135
+ - run:
136
+ name: Set gem version to << parameters.gem-version >>
137
+ command: |
138
+ cd
139
+ read -r target_gemname target_version \<<< $( echo "<< parameters.gem-version >>" | sed 's/\(.*\)-\([0-9]\{1,3\}\(\.[0-9]\{1,3\}\)*\)/\1 \2/g')
140
+ gem install $target_gemname -i /tmp/repo --no-document -v $target_version
141
+
142
+ echo 'Delete any gems matching the newly installed ones from the existing cache'
143
+ for line in $(ls /tmp/repo/cache | grep gem); do
144
+ read -r gemname version \<<< $( echo $line | sed 's/\(.*\)-\([0-9]\{1,3\}\(\.[0-9]\{1,3\}\)*\)[^0-9\.]*.*.gem/\1 \2/g')
145
+ if [ $gemname = 'bundler' ]; # skip bundler
146
+ then continue
147
+ fi
148
+ rm -f ~/project/vendor/cache/$gemname*.gem
149
+ done;
150
+
151
+ echo 'The following gems will be copied into the project: '
152
+ ls -l /tmp/repo/cache
153
+ cp /tmp/repo/cache/*.gem ~/project/vendor/cache
154
+
155
+ echo 'Showing gems in the project cache: ls -al ~/project/vendor/cache'
156
+ ls -al ~/project/vendor/cache
157
+
158
+ cd ~/project
159
+ echo 'Removing Gemfile.lock'
160
+ rm -f ./Gemfile.lock
161
+
162
+ echo 'Fancy replacement. Set all gems in the gemspec to what we currently have in the vendor/cache.'
163
+ for line in $(ls vendor/cache | grep gem); do
164
+ # we don't care about the .gem, get rid of it
165
+ trimmed_line=${line%%.gem}
166
+ # version to include anything after the gem name so we can pick up prerelease versions
167
+ read -r gemname version \<<< $( echo $trimmed_line | sed 's/\(.*\)-\([0-9]\{1,3\}\(\.[0-9]\{1,3\}\)*[^0-9\.]*.*\)/\1 \2/g' )
168
+
169
+ # leave bundler alone
170
+ if [ $gemname = 'bundler' ];
171
+ then continue
172
+ fi
173
+
174
+ # strip out platform info from version, we just want the number plus any prerelease identifiers
175
+ version=$(echo $version | cut -d "-" -f 1)
176
+
177
+ sed -i "s/\(.*_dependency \"$gemname\"\)".*"/\1, \"~> $version\"/g" *.gemspec
178
+
179
+ if [[ "$gemname" = "$target_gemname" ]]; then
180
+ if [[ -z "$(sed -n "s/\(.*_dependency \"$gemname\"\).*\"/\1/p" *.gemspec)" ]];
181
+ then
182
+ echo 'No pre-existing version, adding version';
183
+ replacement="spec\\.add_development_dependency \"$gemname\", \"~> $version\""
184
+ sed -e "0,/add.*dependency/{/add.*dependency/a\ $replacement" -e "}" -i -- *.gemspec
185
+ else
186
+ echo 'nothing to do';
187
+ fi;
188
+ fi;
189
+ done;
190
+
191
+ echo 'cat *.gemspec'
192
+ cat *.gemspec
193
+
194
+ echo 'bundle install --local --no-cache'
195
+ bundle install --local --no-cache
196
+ - run:
197
+ name: Gem version after upgrade
198
+ command: |
199
+ read -r target_gemname target_version \<<< $( echo "<< parameters.gem-version >>" | sed 's/\(.*\)-\([0-9]\{1,3\}\(\.[0-9]\{1,3\}\)*\)/\1 \2/g')
200
+ version=$(bundle list | sed -n "s/[[:space:]]*\* $target_gemname (\(.*\))/\1/p")
201
+ if [[ -z "$version" ]]; then
202
+ echo "${target_gemname} was somehow not installed."
203
+ exit 1
204
+ else
205
+ echo $version;
206
+ fi
207
+
208
+ jobs:
209
+ run_tests_ruby:
210
+ parameters:
211
+ executor:
212
+ type: string
213
+ default: ruby
214
+ parallelism:
215
+ type: integer
216
+ default: 1
217
+ resource_class:
218
+ type: string
219
+ default: small
220
+ gem-version:
221
+ description: |
222
+ The name and version number (e.g. rails-7.0.3) you want installed, specified to the patch version.
223
+ type: string
224
+ default: ''
225
+ ruby-version:
226
+ type: string
227
+ default: '3.1'
228
+ pre-actions:
229
+ description: Steps to perform any necessary setup after dependencies are installed.
230
+ type: steps
231
+ default:
232
+ - run:
233
+ name: Wait for ElasticSearch
234
+ command: dockerize -wait http://127.0.0.1:9200 -timeout 1m
235
+ actions:
236
+ description: The actions that fulfill the primary purpose of the CI job (tests/checks/etc.)
237
+ type: steps
238
+ default:
239
+ - run_rspec_tests
240
+ post-actions:
241
+ description: Any artifacting/reporting/cleanup that must occur after the main
242
+ actions.
243
+ type: steps
244
+ default:
245
+ - store_test_results:
246
+ path: tmp/test-results
247
+ executor:
248
+ name: "<< parameters.executor >>"
249
+ ruby-version: "<< parameters.ruby-version >>"
250
+ resource_class: "<< parameters.resource_class >>"
251
+ parallelism: "<< parameters.parallelism >>"
252
+ steps:
253
+ - ci-utils/ci_checkout
254
+ - bundle_install
255
+ - install_gem_version:
256
+ gem-version: "<< parameters.gem-version >>"
257
+ - steps: "<< parameters.pre-actions >>"
258
+ - steps: "<< parameters.actions >>"
259
+ - steps: "<< parameters.post-actions >>"
260
+ - ci-utils/quietly_store_artifacts
157
261
 
158
262
  workflows:
159
- version: 2
160
- trunk:
161
- jobs:
162
- - build_2_7:
163
- <<: *master_only
164
- - build_3_0:
165
- <<: *master_only
166
- - build_3_1:
167
- <<: *master_only
168
- - gem/build:
169
- <<: *master_only
170
- executor: ruby-latest
171
- name: gem-build
172
- requires:
173
- - build_3_1
174
-
175
- pull-requests:
176
- jobs:
177
- - build_2_7:
178
- <<: *pr_only
179
- - build_3_0:
180
- <<: *pr_only
181
- - build_3_1:
182
- <<: *pr_only
183
- - gem/build:
184
- <<: *pr_only
185
- executor: ruby-latest
186
- name: gem-build
187
- requires:
188
- - build_3_1
189
- - pre-release-approval:
190
- <<: *pr_only
191
- type: approval
192
- requires:
193
- - gem-build
194
- - gem/publish:
195
- <<: *pr_only
196
- name: gem-publish
197
- to_rubygems: false
198
- to_nexus: true
199
- pre_release: true
200
- requires:
201
- - pre-release-approval
202
- context: artifact_publishing
203
-
204
- final-release:
263
+ main:
205
264
  jobs:
206
- - build_2_7:
207
- <<: *version_tags_only
208
- - build_3_0:
209
- <<: *version_tags_only
210
- - build_3_1:
211
- <<: *version_tags_only
212
- - gem/build:
213
- <<: *version_tags_only
214
- executor: ruby-latest
215
- name: gem-build
216
- requires:
217
- - build_3_1
218
- - gem/publish:
219
- <<: *version_tags_only
220
- name: gem-publish
221
- to_rubygems: true
222
- pre_release: false
223
- requires:
224
- - gem-build
225
- context: artifact_publishing
265
+ - run_tests_ruby:
266
+ executor: ruby
267
+ context: nexus_readonly
268
+ <<: *ruby-version-matrix
269
+ name: run_tests_ruby-ruby-<< matrix.ruby-version >>
data/CHANGELOG.md CHANGED
@@ -4,7 +4,13 @@ All notable changes to this project will be documented in this file.
4
4
 
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
- ## [Unreleased]
7
+ ## [1.2.1] - 2024-12-03
8
+ ### Changed
9
+ - Compatibility with Rails 7.2 and beyond
10
+
11
+ ## [1.1.0] - 2023-05-02
12
+ ### Changed
13
+ - Updated the max elasticsearch dependency version to < 8.7
8
14
 
9
15
  ## [1.0.1] - 2022-08-16
10
16
  ### Changed
data/Gemfile.lock CHANGED
@@ -1,102 +1,106 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- es-elasticity (1.0.1)
5
- activemodel (>= 5.2.0, < 7.1)
6
- activerecord (>= 5.2.0, < 7.1)
7
- activesupport (>= 5.2.0, < 7.1)
8
- elasticsearch (>= 7, < 8)
4
+ es-elasticity (1.2.1)
5
+ activemodel (>= 5.2.0, < 8)
6
+ activerecord (>= 5.2.0, < 8)
7
+ activesupport (>= 5.2.0, < 8)
8
+ elastic-transport (>= 8.0, < 8.7)
9
+ elasticsearch (>= 7, < 8.7)
9
10
 
10
11
  GEM
11
12
  remote: https://artifacts.dox.support/repository/gems/
12
13
  specs:
13
- activemodel (7.0.3.1)
14
- activesupport (= 7.0.3.1)
15
- activerecord (7.0.3.1)
16
- activemodel (= 7.0.3.1)
17
- activesupport (= 7.0.3.1)
18
- activesupport (7.0.3.1)
19
- concurrent-ruby (~> 1.0, >= 1.0.2)
14
+ activemodel (7.2.2)
15
+ activesupport (= 7.2.2)
16
+ activerecord (7.2.2)
17
+ activemodel (= 7.2.2)
18
+ activesupport (= 7.2.2)
19
+ timeout (>= 0.4.0)
20
+ activesupport (7.2.2)
21
+ base64
22
+ benchmark (>= 0.3)
23
+ bigdecimal
24
+ concurrent-ruby (~> 1.0, >= 1.3.1)
25
+ connection_pool (>= 2.2.5)
26
+ drb
20
27
  i18n (>= 1.6, < 2)
28
+ logger (>= 1.4.2)
21
29
  minitest (>= 5.1)
22
- tzinfo (~> 2.0)
23
- byebug (11.0.1)
24
- codeclimate-test-reporter (1.0.9)
25
- simplecov (<= 0.13)
26
- coderay (1.1.2)
27
- concurrent-ruby (1.1.10)
28
- diff-lcs (1.3)
29
- elasticsearch (7.17.1)
30
- elasticsearch-api (= 7.17.1)
31
- elasticsearch-transport (= 7.17.1)
32
- elasticsearch-api (7.17.1)
30
+ securerandom (>= 0.3)
31
+ tzinfo (~> 2.0, >= 2.0.5)
32
+ base64 (0.2.0)
33
+ benchmark (0.4.0)
34
+ bigdecimal (3.1.8)
35
+ byebug (11.1.3)
36
+ codeclimate-test-reporter (1.0.7)
37
+ simplecov
38
+ coderay (1.1.3)
39
+ concurrent-ruby (1.3.4)
40
+ connection_pool (2.4.1)
41
+ diff-lcs (1.5.1)
42
+ docile (1.4.1)
43
+ drb (2.2.1)
44
+ elastic-transport (8.2.1)
45
+ faraday (< 3)
33
46
  multi_json
34
- elasticsearch-transport (7.17.1)
35
- faraday (~> 1)
47
+ elasticsearch (8.6.0)
48
+ elastic-transport (~> 8)
49
+ elasticsearch-api (= 8.6.0)
50
+ elasticsearch-api (8.6.0)
36
51
  multi_json
37
- faraday (1.10.1)
38
- faraday-em_http (~> 1.0)
39
- faraday-em_synchrony (~> 1.0)
40
- faraday-excon (~> 1.1)
41
- faraday-httpclient (~> 1.0)
42
- faraday-multipart (~> 1.0)
43
- faraday-net_http (~> 1.0)
44
- faraday-net_http_persistent (~> 1.0)
45
- faraday-patron (~> 1.0)
46
- faraday-rack (~> 1.0)
47
- faraday-retry (~> 1.0)
52
+ faraday (2.7.4)
53
+ faraday-net_http (>= 2.0, < 3.1)
48
54
  ruby2_keywords (>= 0.0.4)
49
- faraday-em_http (1.0.0)
50
- faraday-em_synchrony (1.0.0)
51
- faraday-excon (1.1.0)
52
- faraday-httpclient (1.0.1)
53
- faraday-multipart (1.0.4)
54
- multipart-post (~> 2)
55
- faraday-net_http (1.0.1)
56
- faraday-net_http_persistent (1.2.0)
57
- faraday-patron (1.0.0)
58
- faraday-rack (1.0.0)
59
- faraday-retry (1.0.3)
60
- i18n (1.12.0)
55
+ faraday-net_http (3.0.2)
56
+ i18n (1.14.6)
61
57
  concurrent-ruby (~> 1.0)
62
- method_source (0.9.2)
63
- minitest (5.16.2)
58
+ logger (1.6.1)
59
+ method_source (1.1.0)
60
+ minitest (5.25.1)
64
61
  multi_json (1.15.0)
65
- multipart-post (2.2.3)
66
- oj (3.10.0)
67
- pry (0.12.2)
68
- coderay (~> 1.1.0)
69
- method_source (~> 0.9.0)
62
+ oj (3.16.7)
63
+ bigdecimal (>= 3.0)
64
+ ostruct (>= 0.2)
65
+ ostruct (0.6.0)
66
+ pry (0.14.2)
67
+ coderay (~> 1.1)
68
+ method_source (~> 1.0)
70
69
  rake (10.5.0)
71
70
  redis (4.1.3)
72
- rspec (3.1.0)
73
- rspec-core (~> 3.1.0)
74
- rspec-expectations (~> 3.1.0)
75
- rspec-mocks (~> 3.1.0)
76
- rspec-core (3.1.7)
77
- rspec-support (~> 3.1.0)
78
- rspec-expectations (3.1.2)
71
+ rspec (3.13.0)
72
+ rspec-core (~> 3.13.0)
73
+ rspec-expectations (~> 3.13.0)
74
+ rspec-mocks (~> 3.13.0)
75
+ rspec-core (3.13.2)
76
+ rspec-support (~> 3.13.0)
77
+ rspec-expectations (3.13.3)
79
78
  diff-lcs (>= 1.2.0, < 2.0)
80
- rspec-support (~> 3.1.0)
81
- rspec-mocks (3.1.3)
82
- rspec-support (~> 3.1.0)
83
- rspec-support (3.1.2)
79
+ rspec-support (~> 3.13.0)
80
+ rspec-mocks (3.13.2)
81
+ diff-lcs (>= 1.2.0, < 2.0)
82
+ rspec-support (~> 3.13.0)
83
+ rspec-support (3.13.1)
84
84
  rspec_junit_formatter (0.4.1)
85
85
  rspec-core (>= 2, < 4, != 2.12.0)
86
86
  ruby2_keywords (0.0.5)
87
- simplecov (0.7.1)
88
- multi_json (~> 1.0)
89
- simplecov-html (~> 0.7.1)
90
- simplecov-html (0.7.1)
87
+ securerandom (0.3.1)
88
+ simplecov (0.22.0)
89
+ docile (~> 1.1)
90
+ simplecov-html (~> 0.11)
91
+ simplecov_json_formatter (~> 0.1)
92
+ simplecov-html (0.13.1)
93
+ simplecov_json_formatter (0.1.4)
91
94
  timecop (0.9.5)
92
- tzinfo (2.0.5)
95
+ timeout (0.4.2)
96
+ tzinfo (2.0.6)
93
97
  concurrent-ruby (~> 1.0)
94
98
 
95
99
  PLATFORMS
96
100
  ruby
97
101
 
98
102
  DEPENDENCIES
99
- bundler (~> 2.3.4)
103
+ bundler (~> 2.5)
100
104
  byebug
101
105
  codeclimate-test-reporter
102
106
  es-elasticity!
@@ -104,10 +108,10 @@ DEPENDENCIES
104
108
  pry
105
109
  rake (~> 10.0)
106
110
  redis
107
- rspec (~> 3.1.0)
111
+ rspec (~> 3.13.0)
108
112
  rspec_junit_formatter
109
- simplecov (~> 0.7.1)
113
+ simplecov (~> 0.22.0)
110
114
  timecop
111
115
 
112
116
  BUNDLED WITH
113
- 2.3.4
117
+ 2.5.23
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- <img src="https://s3.amazonaws.com/doximity/logos/elasticity-logotype.svg" width="35%">
1
+ <img src="https://dox-public-assets.s3.amazonaws.com/doximity/logos/elasticity-logotype.svg" width="35%">
2
2
 
3
3
  ---
4
4
 
@@ -21,20 +21,21 @@ Gem::Specification.new do |spec|
21
21
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
22
22
  spec.require_paths = ["lib"]
23
23
 
24
- spec.add_development_dependency "bundler", "~> 2.3.4"
24
+ spec.add_development_dependency "bundler", "~> 2.5"
25
25
  spec.add_development_dependency "byebug"
26
26
  spec.add_development_dependency "codeclimate-test-reporter"
27
27
  spec.add_development_dependency "oj"
28
28
  spec.add_development_dependency "pry"
29
29
  spec.add_development_dependency "rake", "~> 10.0"
30
30
  spec.add_development_dependency "redis"
31
- spec.add_development_dependency "rspec", "~> 3.1.0"
31
+ spec.add_development_dependency "rspec", "~> 3.13.0"
32
32
  spec.add_development_dependency "rspec_junit_formatter"
33
- spec.add_development_dependency "simplecov", "~> 0.7.1"
33
+ spec.add_development_dependency "simplecov", "~> 0.22.0"
34
34
  spec.add_development_dependency "timecop"
35
35
 
36
- spec.add_dependency "activemodel", ">= 5.2.0", "< 7.1"
37
- spec.add_dependency "activerecord", ">= 5.2.0", "< 7.1"
38
- spec.add_dependency "activesupport", ">= 5.2.0", "< 7.1"
39
- spec.add_dependency "elasticsearch", ">= 7", "< 8"
36
+ spec.add_dependency "activemodel", ">= 5.2.0", "< 8"
37
+ spec.add_dependency "activerecord", ">= 5.2.0", "< 8"
38
+ spec.add_dependency "activesupport", ">= 5.2.0", "< 8"
39
+ spec.add_dependency "elasticsearch", ">= 7", "< 8.7"
40
+ spec.add_dependency "elastic-transport", ">= 8.0", "< 8.7"
40
41
  end
@@ -84,8 +84,9 @@ module Elasticity
84
84
  end
85
85
 
86
86
  def warn_deprecated_config
87
+ deprecation = ActiveSupport::Deprecation.new("next major release", "es-elasticity")
87
88
  DEPRECATED_ATTRS.each do |attr|
88
- ActiveSupport::Deprecation.warn(
89
+ deprecation.warn(
89
90
  "#{attr} is deprecated and will be "\
90
91
  "removed in the next major release."
91
92
  ) if public_send(attr).present?
@@ -16,7 +16,7 @@ module Elasticity
16
16
  private
17
17
 
18
18
  def self.error_for(status)
19
- Elasticsearch::Transport::Transport::ERRORS[status] || UnknownError
19
+ Elastic::Transport::Transport::ERRORS[status] || UnknownError
20
20
  end
21
21
  end
22
22
  end
@@ -108,7 +108,7 @@ module Elasticity
108
108
  waiting_duration = 0
109
109
  begin
110
110
  @client.index_delete(index: original_index)
111
- rescue Elasticsearch::Transport::Transport::ServerError => e
111
+ rescue Elastic::Transport::Transport::ServerError => e
112
112
  if retryable_error?(e) && retry_delete_on_recoverable_errors && waiting_duration < max_delay
113
113
  waiting_duration += retry_delay
114
114
  sleep(retry_delay)
@@ -174,13 +174,13 @@ module Elasticity
174
174
 
175
175
  def main_indexes
176
176
  @client.index_get_alias(index: "#{@main_alias}-*", name: @main_alias).keys
177
- rescue Elasticsearch::Transport::Transport::Errors::NotFound
177
+ rescue Elastic::Transport::Transport::Errors::NotFound
178
178
  []
179
179
  end
180
180
 
181
181
  def update_indexes
182
182
  @client.index_get_alias(index: "#{@main_alias}-*", name: @update_alias).keys
183
- rescue Elasticsearch::Transport::Transport::Errors::NotFound
183
+ rescue Elastic::Transport::Transport::Errors::NotFound
184
184
  []
185
185
  end
186
186
 
@@ -264,7 +264,7 @@ module Elasticity
264
264
 
265
265
  def settings
266
266
  @client.index_get_settings(index: @main_alias).values.first
267
- rescue Elasticsearch::Transport::Transport::Errors::NotFound
267
+ rescue Elastic::Transport::Transport::Errors::NotFound
268
268
  nil
269
269
  end
270
270
 
@@ -278,7 +278,7 @@ module Elasticity
278
278
 
279
279
  def mapping
280
280
  @client.index_get_mapping(index: @main_alias).values.first
281
- rescue Elasticsearch::Transport::Transport::Errors::NotFound
281
+ rescue Elastic::Transport::Transport::Errors::NotFound
282
282
  nil
283
283
  end
284
284
 
@@ -80,7 +80,7 @@ module Elasticity
80
80
 
81
81
  def settings
82
82
  @client.index_get_settings(index: @index_name).values.first
83
- rescue Elasticsearch::Transport::Transport::Errors::NotFound
83
+ rescue Elastic::Transport::Transport::Errors::NotFound
84
84
  nil
85
85
  end
86
86
 
@@ -94,7 +94,7 @@ module Elasticity
94
94
 
95
95
  def mapping
96
96
  @client.index_get_mapping(index: @index_name).values.first
97
- rescue Elasticsearch::Transport::Transport::Errors::NotFound
97
+ rescue Elastic::Transport::Transport::Errors::NotFound
98
98
  nil
99
99
  end
100
100
 
@@ -1,3 +1,3 @@
1
1
  module Elasticity
2
- VERSION = "1.0.1"
2
+ VERSION = "1.2.1"
3
3
  end
data/lib/elasticity.rb CHANGED
@@ -21,6 +21,7 @@ require "arel"
21
21
  require "active_support/core_ext"
22
22
  require "active_model"
23
23
  require "elasticsearch"
24
+ require "elastic/transport"
24
25
 
25
26
  module Elasticity
26
27
  autoload :Bulk, "elasticity/bulk"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: es-elasticity
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rodrigo Kochenburger
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-08-16 00:00:00.000000000 Z
11
+ date: 2024-12-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 2.3.4
19
+ version: '2.5'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 2.3.4
26
+ version: '2.5'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: byebug
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -114,14 +114,14 @@ dependencies:
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: 3.1.0
117
+ version: 3.13.0
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: 3.1.0
124
+ version: 3.13.0
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: rspec_junit_formatter
127
127
  requirement: !ruby/object:Gem::Requirement
@@ -142,14 +142,14 @@ dependencies:
142
142
  requirements:
143
143
  - - "~>"
144
144
  - !ruby/object:Gem::Version
145
- version: 0.7.1
145
+ version: 0.22.0
146
146
  type: :development
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
150
  - - "~>"
151
151
  - !ruby/object:Gem::Version
152
- version: 0.7.1
152
+ version: 0.22.0
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: timecop
155
155
  requirement: !ruby/object:Gem::Requirement
@@ -173,7 +173,7 @@ dependencies:
173
173
  version: 5.2.0
174
174
  - - "<"
175
175
  - !ruby/object:Gem::Version
176
- version: '7.1'
176
+ version: '8'
177
177
  type: :runtime
178
178
  prerelease: false
179
179
  version_requirements: !ruby/object:Gem::Requirement
@@ -183,7 +183,7 @@ dependencies:
183
183
  version: 5.2.0
184
184
  - - "<"
185
185
  - !ruby/object:Gem::Version
186
- version: '7.1'
186
+ version: '8'
187
187
  - !ruby/object:Gem::Dependency
188
188
  name: activerecord
189
189
  requirement: !ruby/object:Gem::Requirement
@@ -193,7 +193,7 @@ dependencies:
193
193
  version: 5.2.0
194
194
  - - "<"
195
195
  - !ruby/object:Gem::Version
196
- version: '7.1'
196
+ version: '8'
197
197
  type: :runtime
198
198
  prerelease: false
199
199
  version_requirements: !ruby/object:Gem::Requirement
@@ -203,7 +203,7 @@ dependencies:
203
203
  version: 5.2.0
204
204
  - - "<"
205
205
  - !ruby/object:Gem::Version
206
- version: '7.1'
206
+ version: '8'
207
207
  - !ruby/object:Gem::Dependency
208
208
  name: activesupport
209
209
  requirement: !ruby/object:Gem::Requirement
@@ -213,7 +213,7 @@ dependencies:
213
213
  version: 5.2.0
214
214
  - - "<"
215
215
  - !ruby/object:Gem::Version
216
- version: '7.1'
216
+ version: '8'
217
217
  type: :runtime
218
218
  prerelease: false
219
219
  version_requirements: !ruby/object:Gem::Requirement
@@ -223,7 +223,7 @@ dependencies:
223
223
  version: 5.2.0
224
224
  - - "<"
225
225
  - !ruby/object:Gem::Version
226
- version: '7.1'
226
+ version: '8'
227
227
  - !ruby/object:Gem::Dependency
228
228
  name: elasticsearch
229
229
  requirement: !ruby/object:Gem::Requirement
@@ -233,7 +233,7 @@ dependencies:
233
233
  version: '7'
234
234
  - - "<"
235
235
  - !ruby/object:Gem::Version
236
- version: '8'
236
+ version: '8.7'
237
237
  type: :runtime
238
238
  prerelease: false
239
239
  version_requirements: !ruby/object:Gem::Requirement
@@ -243,7 +243,27 @@ dependencies:
243
243
  version: '7'
244
244
  - - "<"
245
245
  - !ruby/object:Gem::Version
246
- version: '8'
246
+ version: '8.7'
247
+ - !ruby/object:Gem::Dependency
248
+ name: elastic-transport
249
+ requirement: !ruby/object:Gem::Requirement
250
+ requirements:
251
+ - - ">="
252
+ - !ruby/object:Gem::Version
253
+ version: '8.0'
254
+ - - "<"
255
+ - !ruby/object:Gem::Version
256
+ version: '8.7'
257
+ type: :runtime
258
+ prerelease: false
259
+ version_requirements: !ruby/object:Gem::Requirement
260
+ requirements:
261
+ - - ">="
262
+ - !ruby/object:Gem::Version
263
+ version: '8.0'
264
+ - - "<"
265
+ - !ruby/object:Gem::Version
266
+ version: '8.7'
247
267
  description: Elasticity provides a higher level abstraction on top of [elasticsearch-ruby](https://github.com/elasticsearch/elasticsearch-ruby)
248
268
  gem
249
269
  email:
@@ -255,7 +275,6 @@ files:
255
275
  - ".circleci/config.yml"
256
276
  - ".gitignore"
257
277
  - ".rspec"
258
- - ".rubocop.yml"
259
278
  - ".simplecov"
260
279
  - CHANGELOG.md
261
280
  - CONTRIBUTING.md
@@ -304,7 +323,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
304
323
  - !ruby/object:Gem::Version
305
324
  version: '0'
306
325
  requirements: []
307
- rubygems_version: 3.3.11
326
+ rubygems_version: 3.0.3.1
308
327
  signing_key:
309
328
  specification_version: 4
310
329
  summary: ActiveModel-based library for working with Elasticsearch
data/.rubocop.yml DELETED
@@ -1,23 +0,0 @@
1
- ---
2
- inherit_gem:
3
- dox-style:
4
- - ".rubocop.yml"
5
-
6
- Env/UseFetch:
7
- Exclude:
8
- - "./bin/*"
9
-
10
- Metrics/BlockLength:
11
- Exclude:
12
- - "./**/*_spec*.rb"
13
- - "./*.gemspec"
14
- - "./spec/*_helper*.rb"
15
- - "Gemfile"
16
-
17
- Metrics/ModuleLength:
18
- Exclude:
19
- - "./**/*_spec*.rb"
20
-
21
- Metrics/MethodLength:
22
- Exclude:
23
- - "./**/*_spec*.rb"