diff --git a/CHANGELOG.md b/CHANGELOG.md index 6b38bc6d2..c0bf4b0b7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ Inspired from [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) ### Deprecated ### Removed ### Fixed +- Fixed variable name in `OpenSearch::Client#respond_to_missing?` ([#247](https://github.com/opensearch-project/opensearch-ruby/pull/247)) ### Security ## [3.2.0] diff --git a/lib/opensearch.rb b/lib/opensearch.rb index 7f97f2daa..3ea553b16 100644 --- a/lib/opensearch.rb +++ b/lib/opensearch.rb @@ -49,7 +49,7 @@ def method_missing(name, *args, &block) end def respond_to_missing?(method_name, include_private = false) - name == :perform_request || super + method_name == :perform_request || super end private diff --git a/lib/opensearch/dsl/search.rb b/lib/opensearch/dsl/search.rb index 19c05e7ce..987820582 100644 --- a/lib/opensearch/dsl/search.rb +++ b/lib/opensearch/dsl/search.rb @@ -250,7 +250,7 @@ def method_missing(name, *args, &block) end def respond_to_missing?(method_name, include_private = false) - @options.respond_to?(name) || super + @options.respond_to?(method_name) || super end # Converts the search definition to a Hash diff --git a/spec/opensearch/client/unit/opensearch_client_spec.rb b/spec/opensearch/client/unit/opensearch_client_spec.rb new file mode 100644 index 000000000..c43290714 --- /dev/null +++ b/spec/opensearch/client/unit/opensearch_client_spec.rb @@ -0,0 +1,18 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. +# +# Modifications Copyright OpenSearch Contributors. See +# GitHub history for details. + +require_relative '../../../spec_helper' + +describe 'OpenSearch::Client#respond_to_missing?' do + it 'returns to correct results' do + client = OpenSearch::Client.new + expect(client.send(:respond_to_missing?, :perform_request)).to be true + expect(client.send(:respond_to_missing?, :something_else)).to be false + end +end