RUBY-288 Cursor#remove_option
This commit is contained in:
parent
96b39313bf
commit
1142c33910
@ -350,12 +350,24 @@ module Mongo
|
|||||||
#
|
#
|
||||||
# @param opt a valid query option
|
# @param opt a valid query option
|
||||||
#
|
#
|
||||||
# @return [Integer] the current value of options for this cursor.
|
# @return [Integer] the current value of the options bitfield for this cursor.
|
||||||
#
|
#
|
||||||
# @see http://www.mongodb.org/display/DOCS/Mongo+Wire+Protocol#MongoWireProtocol-Mongo::Constants::OPQUERY
|
# @see http://www.mongodb.org/display/DOCS/Mongo+Wire+Protocol#MongoWireProtocol-Mongo::Constants::OPQUERY
|
||||||
def add_option(opt)
|
def add_option(opt)
|
||||||
@options |= opt
|
@options |= opt
|
||||||
return @options
|
@options
|
||||||
|
end
|
||||||
|
|
||||||
|
# Remove an option from the query options bitfield.
|
||||||
|
#
|
||||||
|
# @param opt a valid query option
|
||||||
|
#
|
||||||
|
# @return [Integer] the current value of the options bitfield for this cursor.
|
||||||
|
#
|
||||||
|
# @see http://www.mongodb.org/display/DOCS/Mongo+Wire+Protocol#MongoWireProtocol-Mongo::Constants::OPQUERY
|
||||||
|
def remove_option(opt)
|
||||||
|
@options &= ~opt
|
||||||
|
@options
|
||||||
end
|
end
|
||||||
|
|
||||||
# Get the query options for this Cursor.
|
# Get the query options for this Cursor.
|
||||||
|
@ -32,10 +32,13 @@ class CursorTest < Test::Unit::TestCase
|
|||||||
@@coll.remove
|
@@coll.remove
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_add_options
|
def test_add_and_remove_options
|
||||||
c = @@coll.find
|
c = @@coll.find
|
||||||
|
assert_equal 0, c.options & OP_QUERY_EXHAUST
|
||||||
c.add_option(OP_QUERY_EXHAUST)
|
c.add_option(OP_QUERY_EXHAUST)
|
||||||
assert c.options & OP_QUERY_EXHAUST
|
assert_equal OP_QUERY_EXHAUST, c.options & OP_QUERY_EXHAUST
|
||||||
|
c.remove_option(OP_QUERY_EXHAUST)
|
||||||
|
assert_equal 0, c.options & OP_QUERY_EXHAUST
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_inspect
|
def test_inspect
|
||||||
|
Loading…
Reference in New Issue
Block a user