Base — Documentation by YARD 0.9.37 (original) (raw)
Class: Mongo::WriteConcern::Base
Inherits:
Object
- Object
- Mongo::WriteConcern::Base show all
Defined in:
lib/mongo/write_concern/base.rb
Overview
Defines common behavior for write concerns.
Instance Attribute Summary collapse
- #options ⇒ Hash readonly
The write concern options.
Instance Method Summarycollapse
- #initialize(options) ⇒ Base constructor private
Instantiate a new write concern given the options.
Constructor Details
#initialize(options) ⇒ Base
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Instantiate a new write concern given the options.
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | # File 'lib/mongo/write_concern/base.rb', line 48 def initialize(options) options = Options::Mapper.transform_keys_to_symbols(options) options = Options::Mapper.transform_values_to_strings(options).freeze if options[:w] if options[:w] == 0 && options[:j] raise Error::InvalidWriteConcern, "Invalid write concern options: :j cannot be true when :w is 0: #{options.inspect}" elsif options[:w] == 0 && options[:fsync] raise Error::InvalidWriteConcern, "Invalid write concern options: :fsync cannot be true when :w is 0: #{options.inspect}" elsif options[:w].is_a?(Integer) && options[:w] < 0 raise Error::InvalidWriteConcern, "Invalid write concern options: :w cannot be negative (#{options[:w]}): #{options.inspect}" end end if options[:journal] raise Error::InvalidWriteConcern, "Invalid write concern options: use :j for journal: #{options.inspect}" end @options = options end |
---|
Instance Attribute Details
#options ⇒ Hash
Returns The write concern options.
27 28 29 | # File 'lib/mongo/write_concern/base.rb', line 27 def options @options end |
---|