Base — Documentation by YARD 0.9.37 (original) (raw)

Class: Mongo::WriteConcern::Base

Inherits:

Object

Defined in:

lib/mongo/write_concern/base.rb

Overview

Defines common behavior for write concerns.

Instance Attribute Summary collapse

Instance Method Summarycollapse

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