module Mongoid::Config::Defaults

Encapsulates logic for loading defaults.

Public Instance Methods

load_defaults(version) click to toggle source

Load the defaults for the feature flags in the given Mongoid version. Note that this method will load the new functionality introduced in the given Mongoid version.

@param [ String | Float ] version The version number as X.y.

raises [ ArgumentError ] if an invalid version is given.

# File lib/mongoid/config/defaults.rb, line 17
def load_defaults(version)
  case version.to_s
  when /^[0-7]\./
    raise ArgumentError, "Version no longer supported: #{version}"
  when "8.0"
    self.legacy_readonly = true

    load_defaults "8.1"
  when "8.1"
    self.immutable_ids = false
    self.legacy_persistence_context_behavior = true
    self.around_callbacks_for_embeds = true
    self.prevent_multiple_calls_of_embedded_callbacks = false

    load_defaults "9.0"
  when "9.0"
    # All flag defaults currently reflect 9.0 behavior.
  else
    raise ArgumentError, "Unknown version: #{version}"
  end
end