elasticsearch-rails 7.2.0 → 8.0.0.pre
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 +4 -1
- data/README.md +9 -10
- data/Rakefile +2 -0
- data/elasticsearch-rails.gemspec +4 -4
- data/lib/elasticsearch/rails/tasks/import.rb +2 -2
- data/lib/elasticsearch/rails/version.rb +1 -1
- data/lib/rails/templates/01-basic.rb +4 -4
- data/lib/rails/templates/02-pretty.rb +1 -1
- data/lib/rails/templates/03-expert.rb +8 -8
- data/lib/rails/templates/04-dsl.rb +5 -5
- data/lib/rails/templates/05-settings-files.rb +2 -2
- data/lib/rails/templates/indexer.rb +1 -1
- data/spec/instrumentation_spec.rb +21 -16
- data/spec/lograge_spec.rb +5 -4
- data/spec/spec_helper.rb +2 -1
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 64ebf5844db4e95b8dfe3713ca0059c700d6a75907f96de772f0446c07e4f5da
|
4
|
+
data.tar.gz: 290065237c0e894f0d905b2f74a867fb8a2fff13cd6a0c9f7bbe3a0a5681382f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d3e5e62c7a52f4bd25ea892f3336f9b27d66b04a1599cab018e44565b594b562a5fb906234cacc23b7eb6898455f1c2f6064737493754c4c779059d997467ef4
|
7
|
+
data.tar.gz: 2c02e8ba745189d9d38996d4b5d6dc25de0b45cbe00cde33a37fc6cca033404e5a81d67f2ea77a9c62c66864cc6cee8542214a9ead2f51378be7995a0d05546f
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,15 +1,14 @@
|
|
1
1
|
# Elasticsearch::Rails
|
2
2
|
|
3
3
|
The `elasticsearch-rails` library is a companion for the
|
4
|
-
the [`elasticsearch-model`](https://github.com/elastic/elasticsearch-rails/tree/
|
4
|
+
the [`elasticsearch-model`](https://github.com/elastic/elasticsearch-rails/tree/main/elasticsearch-model)
|
5
5
|
library, providing features suitable for Ruby on Rails applications.
|
6
6
|
|
7
7
|
## Compatibility
|
8
8
|
|
9
9
|
This library is compatible with Ruby 1.9.3 and higher.
|
10
10
|
|
11
|
-
The
|
12
|
-
is compatible with the Elasticsearch `master` branch, therefore, with the next major version.
|
11
|
+
The version numbers follow the Elasticsearch major versions. Currently the `main` branch is compatible with version `7.x` of the Elasticsearch stack. **We haven't tested and updated the code for Elasticsearch `8.0` yet**.
|
13
12
|
|
14
13
|
| Rubygem | | Elasticsearch |
|
15
14
|
|:-------------:|:-:| :-----------: |
|
@@ -18,7 +17,7 @@ is compatible with the Elasticsearch `master` branch, therefore, with the next m
|
|
18
17
|
| 5.x | → | 5.x |
|
19
18
|
| 6.x | → | 6.x |
|
20
19
|
| 7.x | → | 7.x |
|
21
|
-
|
|
20
|
+
| main | → | 7.x |
|
22
21
|
|
23
22
|
## Installation
|
24
23
|
|
@@ -101,22 +100,22 @@ You should see the duration of the request to Elasticsearch as part of each log
|
|
101
100
|
You can generate a fully working example Ruby on Rails application, with an `Article` model and a search form,
|
102
101
|
to play with (it generates the application skeleton and leaves you with a _Git_ repository to explore the
|
103
102
|
steps and the code) with the
|
104
|
-
[`01-basic.rb`](https://github.com/elastic/elasticsearch-rails/blob/
|
103
|
+
[`01-basic.rb`](https://github.com/elastic/elasticsearch-rails/blob/main/elasticsearch-rails/lib/rails/templates/01-basic.rb) template:
|
105
104
|
|
106
105
|
```bash
|
107
|
-
rails new searchapp --skip --skip-bundle --template https://raw.github.com/elastic/elasticsearch-rails/
|
106
|
+
rails new searchapp --skip --skip-bundle --template https://raw.github.com/elastic/elasticsearch-rails/main/elasticsearch-rails/lib/rails/templates/01-basic.rb
|
108
107
|
```
|
109
108
|
|
110
109
|
Run the same command again, in the same folder, with the
|
111
|
-
[`02-pretty`](https://github.com/elastic/elasticsearch-rails/blob/
|
110
|
+
[`02-pretty`](https://github.com/elastic/elasticsearch-rails/blob/main/elasticsearch-rails/lib/rails/templates/02-pretty.rb)
|
112
111
|
template to add features such as a custom `Article.search` method, result highlighting and
|
113
112
|
[_Bootstrap_](http://getbootstrap.com) integration:
|
114
113
|
|
115
114
|
```bash
|
116
|
-
rails new searchapp --skip --skip-bundle --template https://raw.github.com/elastic/elasticsearch-rails/
|
115
|
+
rails new searchapp --skip --skip-bundle --template https://raw.github.com/elastic/elasticsearch-rails/main/elasticsearch-rails/lib/rails/templates/02-pretty.rb
|
117
116
|
```
|
118
117
|
|
119
|
-
Run the same command with the [`03-expert.rb`](https://github.com/elastic/elasticsearch-rails/blob/
|
118
|
+
Run the same command with the [`03-expert.rb`](https://github.com/elastic/elasticsearch-rails/blob/main/elasticsearch-rails/lib/rails/templates/03-expert.rb)
|
120
119
|
template to refactor the application into a more complex use case,
|
121
120
|
with couple of hundreds of The New York Times articles as the example content.
|
122
121
|
The template will extract the Elasticsearch integration into a `Searchable` "concern" module,
|
@@ -124,7 +123,7 @@ define complex mapping, custom serialization, implement faceted navigation and s
|
|
124
123
|
a complex query, and add a _Sidekiq_-based worker for updating the index in the background.
|
125
124
|
|
126
125
|
```bash
|
127
|
-
rails new searchapp --skip --skip-bundle --template https://raw.github.com/elastic/elasticsearch-rails/
|
126
|
+
rails new searchapp --skip --skip-bundle --template https://raw.github.com/elastic/elasticsearch-rails/main/elasticsearch-rails/lib/rails/templates/03-expert.rb
|
128
127
|
```
|
129
128
|
|
130
129
|
## License
|
data/Rakefile
CHANGED
data/elasticsearch-rails.gemspec
CHANGED
@@ -23,15 +23,15 @@ require 'elasticsearch/rails/version'
|
|
23
23
|
Gem::Specification.new do |s|
|
24
24
|
s.name = 'elasticsearch-rails'
|
25
25
|
s.version = Elasticsearch::Rails::VERSION
|
26
|
-
s.authors = ['
|
27
|
-
s.email = ['
|
26
|
+
s.authors = ['Elastic Client Library Maintainers']
|
27
|
+
s.email = ['client-libs@elastic.co']
|
28
28
|
s.description = 'Ruby on Rails integrations for Elasticsearch.'
|
29
29
|
s.summary = 'Ruby on Rails integrations for Elasticsearch.'
|
30
30
|
s.homepage = 'https://github.com/elasticsearch/elasticsearch-rails/'
|
31
31
|
s.license = 'Apache 2'
|
32
32
|
s.metadata = {
|
33
33
|
'homepage_uri' => 'https://www.elastic.co/guide/en/elasticsearch/client/ruby-api/current/ruby_on_rails.html',
|
34
|
-
'changelog_uri' => 'https://github.com/elastic/elasticsearch-rails/blob/
|
34
|
+
'changelog_uri' => 'https://github.com/elastic/elasticsearch-rails/blob/main/CHANGELOG.md',
|
35
35
|
'source_code_uri' => 'https://github.com/elastic/elasticsearch-rails/',
|
36
36
|
'bug_tracker_uri' => 'https://github.com/elastic/elasticsearch-rails/issues'
|
37
37
|
}
|
@@ -44,7 +44,7 @@ Gem::Specification.new do |s|
|
|
44
44
|
s.extra_rdoc_files = ['README.md', 'LICENSE.txt']
|
45
45
|
s.rdoc_options = ['--charset=UTF-8']
|
46
46
|
|
47
|
-
s.required_ruby_version = '>=
|
47
|
+
s.required_ruby_version = '>= 3'
|
48
48
|
|
49
49
|
s.add_development_dependency 'bundler'
|
50
50
|
s.add_development_dependency 'cane'
|
@@ -57,7 +57,7 @@ namespace :elasticsearch do
|
|
57
57
|
$ rake environment elasticsearch:import:model CLASS='Article' SCOPE='published'
|
58
58
|
DESC
|
59
59
|
desc import_model_desc
|
60
|
-
task :
|
60
|
+
task model: :environment do
|
61
61
|
if ENV['CLASS'].to_s == ''
|
62
62
|
puts '='*90, 'USAGE', '='*90, import_model_desc, ""
|
63
63
|
exit(1)
|
@@ -97,7 +97,7 @@ namespace :elasticsearch do
|
|
97
97
|
|
98
98
|
$ rake environment elasticsearch:import:all DIR=app/models
|
99
99
|
DESC
|
100
|
-
task :
|
100
|
+
task all: :environment do
|
101
101
|
dir = ENV['DIR'].to_s != '' ? ENV['DIR'] : Rails.root.join("app/models")
|
102
102
|
|
103
103
|
puts "[IMPORT] Loading models from: #{dir}"
|
@@ -32,7 +32,7 @@
|
|
32
32
|
# Usage:
|
33
33
|
# ------
|
34
34
|
#
|
35
|
-
# $ rails new searchapp --skip --skip-bundle --template https://raw.github.com/elasticsearch/elasticsearch-rails/
|
35
|
+
# $ rails new searchapp --skip --skip-bundle --template https://raw.github.com/elasticsearch/elasticsearch-rails/main/elasticsearch-rails/lib/rails/templates/01-basic.rb
|
36
36
|
#
|
37
37
|
# =====================================================================================================
|
38
38
|
|
@@ -112,7 +112,7 @@ This application is an example of integrating the {Elasticsearch}[https://www.el
|
|
112
112
|
search engine with the {Ruby On Rails}[http://rubyonrails.org] web framework.
|
113
113
|
|
114
114
|
It has been generated by application templates available at
|
115
|
-
https://github.com/elasticsearch/elasticsearch-rails/tree/
|
115
|
+
https://github.com/elasticsearch/elasticsearch-rails/tree/main/elasticsearch-rails/lib/rails/templates.
|
116
116
|
|
117
117
|
## [1] Basic
|
118
118
|
|
@@ -157,8 +157,8 @@ say_status "Rubygems", "Adding Elasticsearch libraries into Gemfile...\n", :yel
|
|
157
157
|
puts '-'*80, ''; sleep 0.75
|
158
158
|
|
159
159
|
gem 'elasticsearch'
|
160
|
-
gem 'elasticsearch-model', git: 'https://github.com/elasticsearch/elasticsearch-rails.git'
|
161
|
-
gem 'elasticsearch-rails', git: 'https://github.com/elasticsearch/elasticsearch-rails.git'
|
160
|
+
gem 'elasticsearch-model', git: 'https://github.com/elasticsearch/elasticsearch-rails.git', branch: 'main'
|
161
|
+
gem 'elasticsearch-rails', git: 'https://github.com/elasticsearch/elasticsearch-rails.git', branch: 'main'
|
162
162
|
|
163
163
|
|
164
164
|
git add: "Gemfile*"
|
@@ -15,7 +15,7 @@
|
|
15
15
|
# specific language governing permissions and limitations
|
16
16
|
# under the License.
|
17
17
|
|
18
|
-
# $ rails new searchapp --skip --skip-bundle --template https://raw.github.com/elasticsearch/elasticsearch-rails/
|
18
|
+
# $ rails new searchapp --skip --skip-bundle --template https://raw.github.com/elasticsearch/elasticsearch-rails/main/elasticsearch-rails/lib/rails/templates/02-pretty.rb
|
19
19
|
|
20
20
|
unless File.read('README.md').include? '## [1] Basic'
|
21
21
|
say_status "ERROR", "You have to run the 01-basic.rb template first.", :red
|
@@ -15,7 +15,7 @@
|
|
15
15
|
# specific language governing permissions and limitations
|
16
16
|
# under the License.
|
17
17
|
|
18
|
-
# $ rails new searchapp --skip --skip-bundle --template https://raw.github.com/elasticsearch/elasticsearch-rails/
|
18
|
+
# $ rails new searchapp --skip --skip-bundle --template https://raw.github.com/elasticsearch/elasticsearch-rails/main/elasticsearch-rails/lib/rails/templates/03-expert.rb
|
19
19
|
|
20
20
|
unless File.read('README.md').include? '## [2] Pretty'
|
21
21
|
say_status "ERROR", "You have to run the 01-basic.rb and 02-pretty.rb templates first.", :red
|
@@ -181,7 +181,7 @@ CODE
|
|
181
181
|
gsub_file "test/models/article_test.rb", %r{assert_equal 'foo', definition\[:query\]\[:multi_match\]\[:query\]}, "assert_equal 'foo', definition.to_hash[:query][:bool][:should][0][:multi_match][:query]"
|
182
182
|
|
183
183
|
# copy_file File.expand_path('../searchable.rb', __FILE__), 'app/models/concerns/searchable.rb'
|
184
|
-
get 'https://raw.githubusercontent.com/elastic/elasticsearch-rails/
|
184
|
+
get 'https://raw.githubusercontent.com/elastic/elasticsearch-rails/main/elasticsearch-rails/lib/rails/templates/searchable.rb', 'app/models/concerns/searchable.rb'
|
185
185
|
|
186
186
|
insert_into_file "app/models/article.rb", after: "ActiveRecord::Base" do
|
187
187
|
<<-CODE
|
@@ -209,7 +209,7 @@ gem "sidekiq"
|
|
209
209
|
run "bundle install"
|
210
210
|
|
211
211
|
# copy_file File.expand_path('../indexer.rb', __FILE__), 'app/workers/indexer.rb'
|
212
|
-
get 'https://raw.githubusercontent.com/elastic/elasticsearch-rails/
|
212
|
+
get 'https://raw.githubusercontent.com/elastic/elasticsearch-rails/main/elasticsearch-rails/lib/rails/templates/indexer.rb', 'app/workers/indexer.rb'
|
213
213
|
|
214
214
|
insert_into_file "test/test_helper.rb",
|
215
215
|
"require 'sidekiq/testing'\n\n",
|
@@ -244,16 +244,16 @@ create_file 'app/controllers/search_controller.rb' do
|
|
244
244
|
end
|
245
245
|
|
246
246
|
# copy_file File.expand_path('../search_controller_test.rb', __FILE__), 'test/controllers/search_controller_test.rb'
|
247
|
-
get 'https://raw.githubusercontent.com/elastic/elasticsearch-rails/
|
247
|
+
get 'https://raw.githubusercontent.com/elastic/elasticsearch-rails/main/elasticsearch-rails/lib/rails/templates/search_controller_test.rb', 'test/controllers/search_controller_test.rb'
|
248
248
|
|
249
249
|
route "get '/search', to: 'search#index', as: 'search'"
|
250
250
|
gsub_file 'config/routes.rb', %r{root to: 'articles#index'$}, "root to: 'search#index'"
|
251
251
|
|
252
252
|
# copy_file File.expand_path('../index.html.erb', __FILE__), 'app/views/search/index.html.erb'
|
253
|
-
get 'https://raw.githubusercontent.com/elastic/elasticsearch-rails/
|
253
|
+
get 'https://raw.githubusercontent.com/elastic/elasticsearch-rails/main/elasticsearch-rails/lib/rails/templates/index.html.erb', 'app/views/search/index.html.erb'
|
254
254
|
|
255
255
|
# copy_file File.expand_path('../search.css', __FILE__), 'app/assets/stylesheets/search.css'
|
256
|
-
get 'https://raw.githubusercontent.com/elastic/elasticsearch-rails/
|
256
|
+
get 'https://raw.githubusercontent.com/elastic/elasticsearch-rails/main/elasticsearch-rails/lib/rails/templates/search.css', 'app/assets/stylesheets/search.css'
|
257
257
|
|
258
258
|
git add: "app/controllers/ test/controllers/ config/routes.rb"
|
259
259
|
git add: "app/views/search/ app/assets/stylesheets/search.css"
|
@@ -315,11 +315,11 @@ say_status "Database", "Re-creating the database with data and importing into E
|
|
315
315
|
puts '-'*80, ''; sleep 0.25
|
316
316
|
|
317
317
|
# copy_file File.expand_path('../articles.yml.gz', __FILE__), 'db/articles.yml.gz'
|
318
|
-
get 'https://raw.githubusercontent.com/elastic/elasticsearch-rails/
|
318
|
+
get 'https://raw.githubusercontent.com/elastic/elasticsearch-rails/main/elasticsearch-rails/lib/rails/templates/articles.yml.gz', 'db/articles.yml.gz'
|
319
319
|
|
320
320
|
remove_file 'db/seeds.rb'
|
321
321
|
# copy_file File.expand_path('../seeds.rb', __FILE__), 'db/seeds.rb'
|
322
|
-
get 'https://raw.githubusercontent.com/elastic/elasticsearch-rails/
|
322
|
+
get 'https://raw.githubusercontent.com/elastic/elasticsearch-rails/main/elasticsearch-rails/lib/rails/templates/seeds.rb', 'db/seeds.rb'
|
323
323
|
|
324
324
|
rake "db:reset"
|
325
325
|
rake "environment elasticsearch:import:model CLASS='Article' BATCH=100 FORCE=y"
|
@@ -15,7 +15,7 @@
|
|
15
15
|
# specific language governing permissions and limitations
|
16
16
|
# under the License.
|
17
17
|
|
18
|
-
# $ rails new searchapp --skip --skip-bundle --template https://raw.githubusercontent.com/elastic/elasticsearch-rails/
|
18
|
+
# $ rails new searchapp --skip --skip-bundle --template https://raw.githubusercontent.com/elastic/elasticsearch-rails/main/elasticsearch-rails/lib/rails/templates/04-dsl.rb
|
19
19
|
|
20
20
|
unless File.read('README.md').include? '## [3] Expert'
|
21
21
|
say_status "ERROR", "You have to run the 01-basic.rb, 02-pretty.rb and 03-expert.rb templates first.", :red
|
@@ -27,7 +27,7 @@ append_to_file 'README.md', <<-README
|
|
27
27
|
## [4] DSL
|
28
28
|
|
29
29
|
The `dsl` template refactors the search definition in SearchController#index
|
30
|
-
to use the [`elasticsearch-dsl`](https://github.com/elastic/elasticsearch-
|
30
|
+
to use the [`elasticsearch-dsl`](https://github.com/elastic/elasticsearch-dsl-ruby)
|
31
31
|
Rubygem for better expresivity and readability of the code.
|
32
32
|
|
33
33
|
README
|
@@ -44,7 +44,7 @@ puts
|
|
44
44
|
say_status "Rubygems", "Adding Rubygems into Gemfile...\n", :yellow
|
45
45
|
puts '-'*80, ''; sleep 0.25
|
46
46
|
|
47
|
-
gem "elasticsearch-dsl", git: "git://github.com/elastic/elasticsearch-ruby.git"
|
47
|
+
gem "elasticsearch-dsl", git: "git://github.com/elastic/elasticsearch-dsl-ruby.git"
|
48
48
|
|
49
49
|
git add: "Gemfile*"
|
50
50
|
git commit: "-m 'Added the `elasticsearch-dsl` gem'"
|
@@ -56,10 +56,10 @@ run "bundle install"
|
|
56
56
|
# ----- Change the search definition implementation and associated views and tests ----------------
|
57
57
|
|
58
58
|
# copy_file File.expand_path('../searchable.dsl.rb', __FILE__), 'app/models/concerns/searchable.rb', force: true
|
59
|
-
get 'https://raw.githubusercontent.com/elastic/elasticsearch-rails/
|
59
|
+
get 'https://raw.githubusercontent.com/elastic/elasticsearch-rails/main/elasticsearch-rails/lib/rails/templates/searchable.dsl.rb', 'app/models/concerns/searchable.rb', force: true
|
60
60
|
|
61
61
|
# copy_file File.expand_path('../index.html.dsl.erb', __FILE__), 'app/views/search/index.html.erb', force: true
|
62
|
-
get 'https://raw.githubusercontent.com/elastic/elasticsearch-rails/
|
62
|
+
get 'https://raw.githubusercontent.com/elastic/elasticsearch-rails/main/elasticsearch-rails/lib/rails/templates/index.html.dsl.erb', 'app/views/search/index.html.erb', force: true
|
63
63
|
|
64
64
|
gsub_file "test/controllers/search_controller_test.rb", %r{test "should return facets" do.*?end}m, <<-CODE
|
65
65
|
test "should return aggregations" do
|
@@ -15,7 +15,7 @@
|
|
15
15
|
# specific language governing permissions and limitations
|
16
16
|
# under the License.
|
17
17
|
|
18
|
-
# $ rails new searchapp --skip --skip-bundle --template https://raw.githubusercontent.com/elastic/elasticsearch-rails/
|
18
|
+
# $ rails new searchapp --skip --skip-bundle --template https://raw.githubusercontent.com/elastic/elasticsearch-rails/main/elasticsearch-rails/lib/rails/templates/05-settings-files.rb
|
19
19
|
|
20
20
|
# (See: 01-basic.rb, 02-pretty.rb, 03-expert.rb, 04-dsl.rb)
|
21
21
|
|
@@ -43,7 +43,7 @@ git commit: "-m 'Setup the Searchable module to load settings from file'"
|
|
43
43
|
# ----- Copy the articles_settings.json file -------------------------------------------------------
|
44
44
|
|
45
45
|
# copy_file File.expand_path('../articles_settings.json', __FILE__), 'config/elasticsearch/articles_settings.json'
|
46
|
-
get 'https://raw.githubusercontent.com/elastic/elasticsearch-rails/
|
46
|
+
get 'https://raw.githubusercontent.com/elastic/elasticsearch-rails/main/elasticsearch-rails/lib/rails/templates/articles_settings.json',
|
47
47
|
'config/elasticsearch/articles_settings.json', force: true
|
48
48
|
|
49
49
|
git add: "config/elasticsearch/articles_settings.json"
|
@@ -37,7 +37,7 @@ class Indexer
|
|
37
37
|
record.__elasticsearch__.client = Client
|
38
38
|
record.__elasticsearch__.__send__ "#{operation}_document"
|
39
39
|
when /delete/
|
40
|
-
Client.delete index: klass.constantize.index_name,
|
40
|
+
Client.delete index: klass.constantize.index_name, id: record_id
|
41
41
|
else raise ArgumentError, "Unknown operation '#{operation}'"
|
42
42
|
end
|
43
43
|
end
|
@@ -18,13 +18,10 @@
|
|
18
18
|
require 'spec_helper'
|
19
19
|
|
20
20
|
describe 'ActiveSupport::Instrumentation integration' do
|
21
|
-
|
22
21
|
before(:all) do
|
23
22
|
class DummyInstrumentationModel
|
24
23
|
extend Elasticsearch::Model::Searching::ClassMethods
|
25
|
-
|
26
|
-
def self.index_name; 'foo'; end
|
27
|
-
def self.document_type; 'bar'; end
|
24
|
+
def self.index_name; 'foo'; end
|
28
25
|
end
|
29
26
|
end
|
30
27
|
|
@@ -33,10 +30,14 @@ describe 'ActiveSupport::Instrumentation integration' do
|
|
33
30
|
end
|
34
31
|
|
35
32
|
let(:response_document) do
|
36
|
-
{
|
37
|
-
'
|
38
|
-
|
39
|
-
|
33
|
+
{
|
34
|
+
'took' => '5ms',
|
35
|
+
'hits' => {
|
36
|
+
'total' => 123,
|
37
|
+
'max_score' => 456,
|
38
|
+
'hits' => []
|
39
|
+
}
|
40
|
+
}
|
40
41
|
end
|
41
42
|
|
42
43
|
let(:search) do
|
@@ -53,7 +54,6 @@ describe 'ActiveSupport::Instrumentation integration' do
|
|
53
54
|
end
|
54
55
|
|
55
56
|
context 'SearchRequest#execute!' do
|
56
|
-
|
57
57
|
it 'wraps the method with instrumentation' do
|
58
58
|
expect(search).to respond_to(:execute_without_instrumentation!)
|
59
59
|
expect(search).to respond_to(:execute_with_instrumentation!)
|
@@ -61,14 +61,19 @@ describe 'ActiveSupport::Instrumentation integration' do
|
|
61
61
|
end
|
62
62
|
|
63
63
|
context 'Model#search' do
|
64
|
-
|
65
64
|
before do
|
66
|
-
expect(ActiveSupport::Notifications).
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
65
|
+
expect(ActiveSupport::Notifications).
|
66
|
+
to receive(:instrument).
|
67
|
+
with('search.elasticsearch',
|
68
|
+
{
|
69
|
+
klass: 'DummyInstrumentationModel',
|
70
|
+
name: 'Search',
|
71
|
+
search: {
|
72
|
+
body: query,
|
73
|
+
index: 'foo',
|
74
|
+
}
|
75
|
+
}
|
76
|
+
).and_return({})
|
72
77
|
end
|
73
78
|
|
74
79
|
let(:query) do
|
data/spec/lograge_spec.rb
CHANGED
@@ -38,14 +38,15 @@ require 'lograge'
|
|
38
38
|
require 'elasticsearch/rails/lograge'
|
39
39
|
|
40
40
|
describe 'ActiveSupport::Instrumentation integration' do
|
41
|
-
|
42
41
|
before do
|
43
42
|
Elasticsearch::Rails::Lograge::Railtie.run_initializers
|
44
43
|
end
|
45
44
|
|
46
45
|
it 'customizes the Lograge configuration' do
|
47
|
-
expect(
|
48
|
-
|
49
|
-
|
46
|
+
expect(
|
47
|
+
Elasticsearch::Rails::Lograge::Railtie.initializers
|
48
|
+
.select { |i| i.name == 'elasticsearch.lograge' }
|
49
|
+
.first
|
50
|
+
).not_to be_nil
|
50
51
|
end
|
51
52
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -36,7 +36,8 @@ RSpec.configure do |config|
|
|
36
36
|
tracer = ::Logger.new(STDERR)
|
37
37
|
tracer.formatter = lambda { |s, d, p, m| "#{m.gsub(/^.*$/) { |n| ' ' + n }.ansi(:faint)}\n" }
|
38
38
|
Elasticsearch::Model.client = Elasticsearch::Client.new host: ELASTICSEARCH_URL,
|
39
|
-
tracer: (ENV['QUIET'] ? nil : tracer)
|
39
|
+
tracer: (ENV['QUIET'] ? nil : tracer),
|
40
|
+
transport_options: { :ssl => { verify: false } }
|
40
41
|
puts "Elasticsearch Version: #{Elasticsearch::Model.client.info['version']}"
|
41
42
|
|
42
43
|
unless ActiveRecord::Base.connected?
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: elasticsearch-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 8.0.0.pre
|
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-04-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -236,7 +236,7 @@ dependencies:
|
|
236
236
|
version: '0'
|
237
237
|
description: Ruby on Rails integrations for Elasticsearch.
|
238
238
|
email:
|
239
|
-
-
|
239
|
+
- client-libs@elastic.co
|
240
240
|
executables: []
|
241
241
|
extensions: []
|
242
242
|
extra_rdoc_files:
|
@@ -283,7 +283,7 @@ licenses:
|
|
283
283
|
- Apache 2
|
284
284
|
metadata:
|
285
285
|
homepage_uri: https://www.elastic.co/guide/en/elasticsearch/client/ruby-api/current/ruby_on_rails.html
|
286
|
-
changelog_uri: https://github.com/elastic/elasticsearch-rails/blob/
|
286
|
+
changelog_uri: https://github.com/elastic/elasticsearch-rails/blob/main/CHANGELOG.md
|
287
287
|
source_code_uri: https://github.com/elastic/elasticsearch-rails/
|
288
288
|
bug_tracker_uri: https://github.com/elastic/elasticsearch-rails/issues
|
289
289
|
post_install_message:
|
@@ -295,14 +295,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
295
295
|
requirements:
|
296
296
|
- - ">="
|
297
297
|
- !ruby/object:Gem::Version
|
298
|
-
version: '
|
298
|
+
version: '3'
|
299
299
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
300
300
|
requirements:
|
301
301
|
- - ">="
|
302
302
|
- !ruby/object:Gem::Version
|
303
303
|
version: '0'
|
304
304
|
requirements: []
|
305
|
-
rubygems_version: 3.
|
305
|
+
rubygems_version: 3.5.3
|
306
306
|
signing_key:
|
307
307
|
specification_version: 4
|
308
308
|
summary: Ruby on Rails integrations for Elasticsearch.
|