elasticsearch 7.13.3 → 8.14.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 +4 -4
- data/Gemfile +8 -6
- data/README.md +71 -33
- data/Rakefile +15 -20
- data/bin/elastic_ruby_console +2 -18
- data/elasticsearch.gemspec +24 -35
- data/lib/elasticsearch/helpers/bulk_helper.rb +129 -0
- data/lib/elasticsearch/helpers/esql_helper.rb +72 -0
- data/lib/elasticsearch/helpers/scroll_helper.rb +95 -0
- data/lib/elasticsearch/version.rb +1 -1
- data/lib/elasticsearch.rb +167 -7
- data/spec/integration/characters_escaping_spec.rb +94 -0
- data/spec/integration/client_integration_spec.rb +64 -0
- data/spec/integration/helpers/bulk_helper_spec.rb +206 -0
- data/spec/integration/helpers/esql_helper_spec.rb +118 -0
- data/spec/integration/helpers/helpers_spec_helper.rb +29 -0
- data/spec/integration/helpers/scroll_helper_spec.rb +81 -0
- data/spec/integration/opentelemetry_spec.rb +55 -0
- data/spec/spec_helper.rb +43 -0
- data/spec/unit/api_key_spec.rb +138 -0
- data/spec/unit/cloud_credentials_spec.rb +167 -0
- data/spec/unit/custom_transport_implementation_spec.rb +43 -0
- data/spec/unit/elasticsearch_product_validation_spec.rb +148 -0
- data/spec/unit/headers_spec.rb +55 -0
- data/spec/unit/opaque_id_spec.rb +48 -0
- data/spec/unit/user_agent_spec.rb +69 -0
- data/{test/unit/wrapper_gem_test.rb → spec/unit/wrapper_gem_spec.rb} +11 -21
- metadata +64 -111
- data/test/integration/client_integration_test.rb +0 -80
- data/test/test_helper.rb +0 -115
- /data/{LICENSE → LICENSE.txt} +0 -0
@@ -0,0 +1,148 @@
|
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
|
18
|
+
require 'spec_helper'
|
19
|
+
require 'webmock/rspec'
|
20
|
+
|
21
|
+
describe 'Elasticsearch: Validation' do
|
22
|
+
let(:host) { 'http://localhost:9200' }
|
23
|
+
let(:count_request_stub) do
|
24
|
+
stub_request(:get, "#{host}/_count")
|
25
|
+
.to_return(status: status, body: nil, headers: headers)
|
26
|
+
end
|
27
|
+
let(:status) { 200 }
|
28
|
+
let(:body) { nil }
|
29
|
+
let(:headers) { {} }
|
30
|
+
let(:client) { Elasticsearch::Client.new }
|
31
|
+
|
32
|
+
context 'When Elasticsearch replies with status 401' do
|
33
|
+
let(:status) { 401 }
|
34
|
+
|
35
|
+
it 'Verifies the request but shows a warning' do
|
36
|
+
stderr = $stderr
|
37
|
+
fake_stderr = StringIO.new
|
38
|
+
$stderr = fake_stderr
|
39
|
+
expect(client.instance_variable_get('@verified')).to be false
|
40
|
+
count_request_stub
|
41
|
+
expect do
|
42
|
+
client.count
|
43
|
+
end.to raise_error Elastic::Transport::Transport::Errors::Unauthorized
|
44
|
+
expect(client.instance_variable_get('@verified')).to be true
|
45
|
+
|
46
|
+
fake_stderr.rewind
|
47
|
+
expect(fake_stderr.string).to eq("#{Elasticsearch::SECURITY_PRIVILEGES_VALIDATION_WARNING}\n")
|
48
|
+
ensure
|
49
|
+
$stderr = stderr
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
context 'When Elasticsearch replies with status 403' do
|
54
|
+
let(:status) { 403 }
|
55
|
+
|
56
|
+
it 'Verifies the request but shows a warning' do
|
57
|
+
stderr = $stderr
|
58
|
+
fake_stderr = StringIO.new
|
59
|
+
$stderr = fake_stderr
|
60
|
+
|
61
|
+
expect(client.instance_variable_get('@verified')).to be false
|
62
|
+
count_request_stub
|
63
|
+
expect do
|
64
|
+
client.count
|
65
|
+
end.to raise_error Elastic::Transport::Transport::Errors::Forbidden
|
66
|
+
expect(client.instance_variable_get('@verified')).to be true
|
67
|
+
|
68
|
+
fake_stderr.rewind
|
69
|
+
expect(fake_stderr.string).to eq("#{Elasticsearch::SECURITY_PRIVILEGES_VALIDATION_WARNING}\n")
|
70
|
+
ensure
|
71
|
+
$stderr = stderr
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
context 'When Elasticsearch replies with status 413' do
|
76
|
+
let(:status) { 413 }
|
77
|
+
|
78
|
+
it 'Verifies the request and shows a warning' do
|
79
|
+
stderr = $stderr
|
80
|
+
fake_stderr = StringIO.new
|
81
|
+
$stderr = fake_stderr
|
82
|
+
|
83
|
+
expect(client.instance_variable_get('@verified')).to be false
|
84
|
+
count_request_stub
|
85
|
+
expect do
|
86
|
+
client.count
|
87
|
+
end.to raise_error Elastic::Transport::Transport::Errors::RequestEntityTooLarge
|
88
|
+
expect(client.instance_variable_get('@verified')).to be true
|
89
|
+
|
90
|
+
fake_stderr.rewind
|
91
|
+
expect(fake_stderr.string.delete("\n"))
|
92
|
+
.to eq(Elasticsearch::SECURITY_PRIVILEGES_VALIDATION_WARNING)
|
93
|
+
ensure
|
94
|
+
$stderr = stderr
|
95
|
+
end
|
96
|
+
end
|
97
|
+
|
98
|
+
context 'When Elasticsearch replies with status 503' do
|
99
|
+
let(:status) { 503 }
|
100
|
+
let(:body) { {}.to_json }
|
101
|
+
|
102
|
+
it 'Does not verify the request and shows a warning' do
|
103
|
+
stderr = $stderr
|
104
|
+
fake_stderr = StringIO.new
|
105
|
+
$stderr = fake_stderr
|
106
|
+
|
107
|
+
expect(client.instance_variable_get('@verified')).to be false
|
108
|
+
count_request_stub
|
109
|
+
expect do
|
110
|
+
client.count
|
111
|
+
end.to raise_error Elastic::Transport::Transport::Errors::ServiceUnavailable
|
112
|
+
expect(client.instance_variable_get('@verified')).to be false
|
113
|
+
|
114
|
+
fake_stderr.rewind
|
115
|
+
expect(fake_stderr.string)
|
116
|
+
.to eq(
|
117
|
+
<<~MSG
|
118
|
+
The client is unable to verify that the server is \
|
119
|
+
Elasticsearch. Some functionality may not be compatible \
|
120
|
+
if the server is running an unsupported product.
|
121
|
+
MSG
|
122
|
+
)
|
123
|
+
ensure
|
124
|
+
$stderr = stderr
|
125
|
+
end
|
126
|
+
end
|
127
|
+
|
128
|
+
context 'When the header is present' do
|
129
|
+
let(:headers) { { 'X-Elastic-Product' => 'Elasticsearch' } }
|
130
|
+
|
131
|
+
it 'Makes requests and passes validation' do
|
132
|
+
expect(client.instance_variable_get('@verified')).to be false
|
133
|
+
count_request_stub
|
134
|
+
client.count
|
135
|
+
expect(client.instance_variable_get('@verified')).to be true
|
136
|
+
end
|
137
|
+
end
|
138
|
+
|
139
|
+
context 'When the header is not present' do
|
140
|
+
it 'Fails validation' do
|
141
|
+
expect(client.instance_variable_get('@verified')).to be false
|
142
|
+
stub_request(:get, "#{host}/_cluster/health")
|
143
|
+
.to_return(status: status, body: nil, headers: {})
|
144
|
+
expect { client.cluster.health }.to raise_error Elasticsearch::UnsupportedProductError, Elasticsearch::NOT_ELASTICSEARCH_WARNING
|
145
|
+
expect(client.instance_variable_get('@verified')).to be false
|
146
|
+
end
|
147
|
+
end
|
148
|
+
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
require 'spec_helper'
|
18
|
+
require 'ostruct'
|
19
|
+
|
20
|
+
describe Elasticsearch::Client do
|
21
|
+
context 'when a header is set on an endpoint request' do
|
22
|
+
let(:client) { described_class.new }
|
23
|
+
let(:headers) { { 'user-agent' => 'my ruby app' } }
|
24
|
+
|
25
|
+
it 'performs the request with the header' do
|
26
|
+
allow(client).to receive(:perform_request) { OpenStruct.new(body: '') }
|
27
|
+
expect { client.search(headers: headers) }.not_to raise_error
|
28
|
+
expect(client).to have_received(:perform_request)
|
29
|
+
.with('GET', '_search', {}, nil, headers, { endpoint: 'search' })
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
context 'when a header is set on an endpoint request and on initialization' do
|
34
|
+
let!(:client) do
|
35
|
+
described_class.new(
|
36
|
+
host: 'http://localhost:9200',
|
37
|
+
transport_options: { headers: instance_headers }
|
38
|
+
).tap do |client|
|
39
|
+
client.instance_variable_set('@verified', true)
|
40
|
+
end
|
41
|
+
end
|
42
|
+
let(:instance_headers) { { set_in_instantiation: 'header value' } }
|
43
|
+
let(:param_headers) { { 'user-agent' => 'My Ruby Tests', 'set-on-method-call' => 'header value' } }
|
44
|
+
|
45
|
+
it 'performs the request with the header' do
|
46
|
+
expected_headers = client.transport.connections.connections.first.connection.headers.merge(param_headers)
|
47
|
+
|
48
|
+
expect_any_instance_of(Faraday::Connection)
|
49
|
+
.to receive(:run_request)
|
50
|
+
.with(:get, 'http://localhost:9200/_search', nil, expected_headers) { OpenStruct.new(body: '') }
|
51
|
+
|
52
|
+
client.search(headers: param_headers)
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
require 'spec_helper'
|
18
|
+
require 'ostruct'
|
19
|
+
|
20
|
+
describe Elasticsearch::Client do
|
21
|
+
let(:transport) { client.instance_variable_get('@transport') }
|
22
|
+
let(:client) { described_class.new.tap { |cl| cl.instance_variable_set('@verified', true) } }
|
23
|
+
|
24
|
+
before do
|
25
|
+
allow(transport).to receive(:perform_request) { OpenStruct.new(body: '') }
|
26
|
+
end
|
27
|
+
|
28
|
+
context 'when x-opaque-id is set' do
|
29
|
+
it 'uses x-opaque-id on a request' do
|
30
|
+
client.search(opaque_id: '12345')
|
31
|
+
expect(transport).to have_received(:perform_request)
|
32
|
+
.with('GET', '_search', {}, nil, { 'X-Opaque-Id' => '12345' }, {:endpoint=>"search"})
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
context 'when an x-opaque-id prefix is set on initialization' do
|
37
|
+
let(:prefix) { 'elastic_cloud' }
|
38
|
+
let(:client) do
|
39
|
+
described_class.new(opaque_id_prefix: prefix).tap { |cl| cl.instance_variable_set('@verified', true) }
|
40
|
+
end
|
41
|
+
|
42
|
+
it 'uses x-opaque-id on a request' do
|
43
|
+
expect { client.search(opaque_id: '12345') }.not_to raise_error
|
44
|
+
expect(transport).to have_received(:perform_request)
|
45
|
+
.with('GET', '_search', {}, nil, { 'X-Opaque-Id' => 'elastic_cloud12345' }, {:endpoint=>"search"})
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,69 @@
|
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
require 'spec_helper'
|
18
|
+
|
19
|
+
describe Elasticsearch::Client do
|
20
|
+
let(:user_agent) {
|
21
|
+
"elasticsearch-ruby/#{Elasticsearch::VERSION}; elastic-transport-ruby/#{Elastic::Transport::VERSION}; RUBY_VERSION: #{RUBY_VERSION}; #{RbConfig::CONFIG['host_os'].split('_').first[/[a-z]+/i].downcase} #{RbConfig::CONFIG['target_cpu']}"
|
22
|
+
}
|
23
|
+
|
24
|
+
context 'when no user-agent is set on initialization' do
|
25
|
+
let(:client) { described_class.new }
|
26
|
+
|
27
|
+
it 'has the expected header' do
|
28
|
+
expect(client.transport.options[:transport_options][:headers][:user_agent]).to eq user_agent
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
context 'when a header is specified on initialization' do
|
33
|
+
let(:client) do
|
34
|
+
described_class.new(
|
35
|
+
transport_options: { headers: { 'X-Test-Header' => 'Test' } }
|
36
|
+
)
|
37
|
+
end
|
38
|
+
|
39
|
+
it 'has the expected header' do
|
40
|
+
expect(client.transport.options[:transport_options][:headers][:user_agent]).to eq user_agent
|
41
|
+
expect(client.transport.options[:transport_options][:headers]['X-Test-Header']).to eq 'Test'
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
context 'when other transport_options are specified on initialization' do
|
46
|
+
let(:client) do
|
47
|
+
described_class.new(
|
48
|
+
transport_options: { params: { format: 'yaml' } }
|
49
|
+
)
|
50
|
+
end
|
51
|
+
|
52
|
+
it 'has the expected header' do
|
53
|
+
expect(client.transport.options[:transport_options][:headers][:user_agent]).to eq user_agent
|
54
|
+
expect(client.transport.options[:transport_options][:params][:format]).to eq 'yaml'
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
context 'when :user_agent is specified on initialization' do
|
59
|
+
let(:client) do
|
60
|
+
described_class.new(
|
61
|
+
transport_options: { headers: { user_agent: 'TestApp' } }
|
62
|
+
)
|
63
|
+
end
|
64
|
+
|
65
|
+
it 'has the expected header' do
|
66
|
+
expect(client.transport.options[:transport_options][:headers][:user_agent]).to eq 'TestApp'
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
@@ -15,29 +15,19 @@
|
|
15
15
|
# specific language governing permissions and limitations
|
16
16
|
# under the License.
|
17
17
|
|
18
|
-
require '
|
18
|
+
require 'spec_helper'
|
19
19
|
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
should "require all neccessary subgems" do
|
27
|
-
assert defined? Elasticsearch::Client
|
28
|
-
assert defined? Elasticsearch::API
|
29
|
-
end
|
30
|
-
|
31
|
-
should "mix the API into the client" do
|
32
|
-
client = Elasticsearch::Client.new
|
33
|
-
|
34
|
-
assert_respond_to client, :search
|
35
|
-
assert_respond_to client, :cluster
|
36
|
-
assert_respond_to client, :indices
|
37
|
-
end
|
20
|
+
describe 'Elasticsearch: wrapper gem' do
|
21
|
+
it 'requires all neccessary subgems' do
|
22
|
+
expect(defined? Elasticsearch::Client)
|
23
|
+
expect(defined? Elasticsearch::API)
|
24
|
+
end
|
38
25
|
|
39
|
-
|
26
|
+
it 'mixes the API into the client' do
|
27
|
+
client = Elasticsearch::Client.new
|
40
28
|
|
41
|
-
|
29
|
+
expect(client).to respond_to(:search)
|
30
|
+
expect(client).to respond_to(:cluster)
|
31
|
+
expect(client).to respond_to(:indices)
|
42
32
|
end
|
43
33
|
end
|
metadata
CHANGED
@@ -1,45 +1,45 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: elasticsearch
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 8.14.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
7
|
+
- Elastic Client Library Maintainers
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-06-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: elastic-transport
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: '8.3'
|
20
20
|
type: :runtime
|
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:
|
26
|
+
version: '8.3'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: elasticsearch-api
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - '='
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 8.14.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - '='
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: 8.14.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: base64
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - ">="
|
@@ -53,49 +53,7 @@ dependencies:
|
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - "~>"
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '13'
|
62
|
-
type: :development
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - "~>"
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '13'
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: elasticsearch-extensions
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - ">="
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '0'
|
76
|
-
type: :development
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - ">="
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '0'
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: ansi
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - ">="
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: '0'
|
90
|
-
type: :development
|
91
|
-
prerelease: false
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
93
|
-
requirements:
|
94
|
-
- - ">="
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: '0'
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: shoulda-context
|
56
|
+
name: bundler
|
99
57
|
requirement: !ruby/object:Gem::Requirement
|
100
58
|
requirements:
|
101
59
|
- - ">="
|
@@ -109,7 +67,7 @@ dependencies:
|
|
109
67
|
- !ruby/object:Gem::Version
|
110
68
|
version: '0'
|
111
69
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
70
|
+
name: debug
|
113
71
|
requirement: !ruby/object:Gem::Requirement
|
114
72
|
requirements:
|
115
73
|
- - ">="
|
@@ -123,7 +81,7 @@ dependencies:
|
|
123
81
|
- !ruby/object:Gem::Version
|
124
82
|
version: '0'
|
125
83
|
- !ruby/object:Gem::Dependency
|
126
|
-
name:
|
84
|
+
name: pry
|
127
85
|
requirement: !ruby/object:Gem::Requirement
|
128
86
|
requirements:
|
129
87
|
- - ">="
|
@@ -137,7 +95,7 @@ dependencies:
|
|
137
95
|
- !ruby/object:Gem::Version
|
138
96
|
version: '0'
|
139
97
|
- !ruby/object:Gem::Dependency
|
140
|
-
name:
|
98
|
+
name: rake
|
141
99
|
requirement: !ruby/object:Gem::Requirement
|
142
100
|
requirements:
|
143
101
|
- - ">="
|
@@ -151,7 +109,7 @@ dependencies:
|
|
151
109
|
- !ruby/object:Gem::Version
|
152
110
|
version: '0'
|
153
111
|
- !ruby/object:Gem::Dependency
|
154
|
-
name:
|
112
|
+
name: require-prof
|
155
113
|
requirement: !ruby/object:Gem::Requirement
|
156
114
|
requirements:
|
157
115
|
- - ">="
|
@@ -165,7 +123,7 @@ dependencies:
|
|
165
123
|
- !ruby/object:Gem::Version
|
166
124
|
version: '0'
|
167
125
|
- !ruby/object:Gem::Dependency
|
168
|
-
name:
|
126
|
+
name: rspec
|
169
127
|
requirement: !ruby/object:Gem::Requirement
|
170
128
|
requirements:
|
171
129
|
- - ">="
|
@@ -193,7 +151,7 @@ dependencies:
|
|
193
151
|
- !ruby/object:Gem::Version
|
194
152
|
version: '0'
|
195
153
|
- !ruby/object:Gem::Dependency
|
196
|
-
name:
|
154
|
+
name: simplecov
|
197
155
|
requirement: !ruby/object:Gem::Requirement
|
198
156
|
requirements:
|
199
157
|
- - ">="
|
@@ -207,27 +165,7 @@ dependencies:
|
|
207
165
|
- !ruby/object:Gem::Version
|
208
166
|
version: '0'
|
209
167
|
- !ruby/object:Gem::Dependency
|
210
|
-
name:
|
211
|
-
requirement: !ruby/object:Gem::Requirement
|
212
|
-
requirements:
|
213
|
-
- - "~>"
|
214
|
-
- !ruby/object:Gem::Version
|
215
|
-
version: '0.17'
|
216
|
-
- - "<"
|
217
|
-
- !ruby/object:Gem::Version
|
218
|
-
version: '0.18'
|
219
|
-
type: :development
|
220
|
-
prerelease: false
|
221
|
-
version_requirements: !ruby/object:Gem::Requirement
|
222
|
-
requirements:
|
223
|
-
- - "~>"
|
224
|
-
- !ruby/object:Gem::Version
|
225
|
-
version: '0.17'
|
226
|
-
- - "<"
|
227
|
-
- !ruby/object:Gem::Version
|
228
|
-
version: '0.18'
|
229
|
-
- !ruby/object:Gem::Dependency
|
230
|
-
name: simplecov-rcov
|
168
|
+
name: webmock
|
231
169
|
requirement: !ruby/object:Gem::Requirement
|
232
170
|
requirements:
|
233
171
|
- - ">="
|
@@ -241,7 +179,7 @@ dependencies:
|
|
241
179
|
- !ruby/object:Gem::Version
|
242
180
|
version: '0'
|
243
181
|
- !ruby/object:Gem::Dependency
|
244
|
-
name:
|
182
|
+
name: yard
|
245
183
|
requirement: !ruby/object:Gem::Requirement
|
246
184
|
requirements:
|
247
185
|
- - ">="
|
@@ -254,52 +192,54 @@ dependencies:
|
|
254
192
|
- - ">="
|
255
193
|
- !ruby/object:Gem::Version
|
256
194
|
version: '0'
|
257
|
-
- !ruby/object:Gem::Dependency
|
258
|
-
name: test-unit
|
259
|
-
requirement: !ruby/object:Gem::Requirement
|
260
|
-
requirements:
|
261
|
-
- - "~>"
|
262
|
-
- !ruby/object:Gem::Version
|
263
|
-
version: '2'
|
264
|
-
type: :development
|
265
|
-
prerelease: false
|
266
|
-
version_requirements: !ruby/object:Gem::Requirement
|
267
|
-
requirements:
|
268
|
-
- - "~>"
|
269
|
-
- !ruby/object:Gem::Version
|
270
|
-
version: '2'
|
271
195
|
description: 'Ruby integrations for Elasticsearch (client, API, etc.)
|
272
196
|
|
273
197
|
'
|
274
198
|
email:
|
275
|
-
-
|
199
|
+
- client-libs@elastic.co
|
276
200
|
executables:
|
277
201
|
- elastic_ruby_console
|
278
202
|
extensions: []
|
279
203
|
extra_rdoc_files:
|
280
204
|
- README.md
|
281
|
-
- LICENSE
|
205
|
+
- LICENSE.txt
|
282
206
|
files:
|
283
207
|
- ".gitignore"
|
284
208
|
- Gemfile
|
285
|
-
- LICENSE
|
209
|
+
- LICENSE.txt
|
286
210
|
- README.md
|
287
211
|
- Rakefile
|
288
212
|
- bin/elastic_ruby_console
|
289
213
|
- elasticsearch.gemspec
|
290
214
|
- lib/elasticsearch-ruby.rb
|
291
215
|
- lib/elasticsearch.rb
|
216
|
+
- lib/elasticsearch/helpers/bulk_helper.rb
|
217
|
+
- lib/elasticsearch/helpers/esql_helper.rb
|
218
|
+
- lib/elasticsearch/helpers/scroll_helper.rb
|
292
219
|
- lib/elasticsearch/version.rb
|
293
|
-
-
|
294
|
-
-
|
295
|
-
-
|
296
|
-
|
220
|
+
- spec/integration/characters_escaping_spec.rb
|
221
|
+
- spec/integration/client_integration_spec.rb
|
222
|
+
- spec/integration/helpers/bulk_helper_spec.rb
|
223
|
+
- spec/integration/helpers/esql_helper_spec.rb
|
224
|
+
- spec/integration/helpers/helpers_spec_helper.rb
|
225
|
+
- spec/integration/helpers/scroll_helper_spec.rb
|
226
|
+
- spec/integration/opentelemetry_spec.rb
|
227
|
+
- spec/spec_helper.rb
|
228
|
+
- spec/unit/api_key_spec.rb
|
229
|
+
- spec/unit/cloud_credentials_spec.rb
|
230
|
+
- spec/unit/custom_transport_implementation_spec.rb
|
231
|
+
- spec/unit/elasticsearch_product_validation_spec.rb
|
232
|
+
- spec/unit/headers_spec.rb
|
233
|
+
- spec/unit/opaque_id_spec.rb
|
234
|
+
- spec/unit/user_agent_spec.rb
|
235
|
+
- spec/unit/wrapper_gem_spec.rb
|
236
|
+
homepage: https://www.elastic.co/guide/en/elasticsearch/client/ruby-api/current/index.html
|
297
237
|
licenses:
|
298
238
|
- Apache-2.0
|
299
239
|
metadata:
|
300
|
-
homepage_uri: https://www.elastic.co/guide/en/elasticsearch/client/ruby-api/
|
301
|
-
changelog_uri: https://github.com/elastic/elasticsearch-ruby/blob/
|
302
|
-
source_code_uri: https://github.com/elastic/elasticsearch-ruby/tree/
|
240
|
+
homepage_uri: https://www.elastic.co/guide/en/elasticsearch/client/ruby-api/current/index.html
|
241
|
+
changelog_uri: https://github.com/elastic/elasticsearch-ruby/blob/main/CHANGELOG.md
|
242
|
+
source_code_uri: https://github.com/elastic/elasticsearch-ruby/tree/main
|
303
243
|
bug_tracker_uri: https://github.com/elastic/elasticsearch-ruby/issues
|
304
244
|
post_install_message:
|
305
245
|
rdoc_options:
|
@@ -310,18 +250,31 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
310
250
|
requirements:
|
311
251
|
- - ">="
|
312
252
|
- !ruby/object:Gem::Version
|
313
|
-
version: '2.
|
253
|
+
version: '2.5'
|
314
254
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
315
255
|
requirements:
|
316
256
|
- - ">="
|
317
257
|
- !ruby/object:Gem::Version
|
318
258
|
version: '0'
|
319
259
|
requirements: []
|
320
|
-
rubygems_version: 3.
|
260
|
+
rubygems_version: 3.5.9
|
321
261
|
signing_key:
|
322
262
|
specification_version: 4
|
323
263
|
summary: Ruby integrations for Elasticsearch
|
324
264
|
test_files:
|
325
|
-
-
|
326
|
-
-
|
327
|
-
-
|
265
|
+
- spec/integration/characters_escaping_spec.rb
|
266
|
+
- spec/integration/client_integration_spec.rb
|
267
|
+
- spec/integration/helpers/bulk_helper_spec.rb
|
268
|
+
- spec/integration/helpers/esql_helper_spec.rb
|
269
|
+
- spec/integration/helpers/helpers_spec_helper.rb
|
270
|
+
- spec/integration/helpers/scroll_helper_spec.rb
|
271
|
+
- spec/integration/opentelemetry_spec.rb
|
272
|
+
- spec/spec_helper.rb
|
273
|
+
- spec/unit/api_key_spec.rb
|
274
|
+
- spec/unit/cloud_credentials_spec.rb
|
275
|
+
- spec/unit/custom_transport_implementation_spec.rb
|
276
|
+
- spec/unit/elasticsearch_product_validation_spec.rb
|
277
|
+
- spec/unit/headers_spec.rb
|
278
|
+
- spec/unit/opaque_id_spec.rb
|
279
|
+
- spec/unit/user_agent_spec.rb
|
280
|
+
- spec/unit/wrapper_gem_spec.rb
|