File tree Expand file tree Collapse file tree 3 files changed +22
-3
lines changed
lib/mongo/operation/write Expand file tree Collapse file tree 3 files changed +22
-3
lines changed Original file line number Diff line number Diff line change @@ -26,8 +26,8 @@ module GLE
2626
2727 def execute_message ( context )
2828 context . with_connection do |connection |
29- result_class = defined? ( self . class :: LegacyResult ) ? self . class ::LegacyResult :
30- defined? ( self . class :: Result ) ? self . class ::Result : Result
29+ result_class = self . class . const_defined? ( : LegacyResult, false ) ? self . class ::LegacyResult :
30+ self . class . const_defined? ( : Result, false ) ? self . class ::Result : Result
3131 result_class . new ( connection . dispatch ( [ message , gle ] . compact ) ) . validate!
3232 end
3333 end
Original file line number Diff line number Diff line change @@ -44,7 +44,7 @@ def execute(context)
4444 private
4545
4646 def execute_write_command ( context )
47- result_class = defined? ( self . class :: Result ) ? self . class ::Result : Result
47+ result_class = self . class . const_defined? ( : Result, false ) ? self . class ::Result : Result
4848 result_class . new ( write_command_op . execute ( context ) ) . validate!
4949 end
5050 end
Original file line number Diff line number Diff line change 272272 end
273273 end
274274 end
275+
276+ context 'when there is a top-level Result class defined' do
277+
278+ before do
279+ class Result
280+ def get_result
281+ Mongo ::Client . new ( [ DEFAULT_ADDRESS ] , TEST_OPTIONS ) . database . command ( :ping => 1 )
282+ end
283+ end
284+ end
285+
286+ let ( :result ) do
287+ Result . new . get_result
288+ end
289+
290+ it 'uses the Result class of the operation' do
291+ expect ( result ) . to be_a ( Mongo ::Operation ::Result )
292+ end
293+ end
275294end
You can’t perform that action at this time.
0 commit comments