Skip to content

Commit ed0d087

Browse files
ZubKonstkarmi
authored andcommitted
[RAILS] Fixed double include of the aliased method (execute_without_instrumentation)
Fixes elastic#277 Closes elastic#278
1 parent b660d6a commit ed0d087

File tree

1 file changed

+13
-15
lines changed
  • elasticsearch-rails/lib/elasticsearch/rails/instrumentation

1 file changed

+13
-15
lines changed

elasticsearch-rails/lib/elasticsearch/rails/instrumentation/publishers.rb

+13-15
Original file line numberDiff line numberDiff line change
@@ -12,25 +12,23 @@ module SearchRequest
1212

1313
def self.included(base)
1414
base.class_eval do
15-
alias_method :execute_without_instrumentation!, :execute!
16-
17-
def execute!
18-
execute_with_instrumentation!
19-
end
20-
21-
# Wrap `Search#execute!` and perform instrumentation
22-
#
23-
def execute_with_instrumentation!
24-
ActiveSupport::Notifications.instrument "search.elasticsearch",
25-
name: 'Search',
26-
klass: (self.klass.is_a?(Elasticsearch::Model::Proxy::ClassMethodsProxy) ? self.klass.target.to_s : self.klass.to_s),
27-
search: self.definition do
28-
execute_without_instrumentation!
29-
end
15+
unless method_defined?(:execute_without_instrumentation!)
16+
alias_method :execute_without_instrumentation!, :execute!
17+
alias_method :execute!, :execute_with_instrumentation!
3018
end
3119
end
3220
end
3321

22+
# Wrap `Search#execute!` and perform instrumentation
23+
#
24+
def execute_with_instrumentation!
25+
ActiveSupport::Notifications.instrument "search.elasticsearch",
26+
name: 'Search',
27+
klass: (self.klass.is_a?(Elasticsearch::Model::Proxy::ClassMethodsProxy) ? self.klass.target.to_s : self.klass.to_s),
28+
search: self.definition do
29+
execute_without_instrumentation!
30+
end
31+
end
3432
end
3533
end
3634
end

0 commit comments

Comments
 (0)