123456789_123456789_123456789_123456789_123456789_

Module: Mongoid::Config::Defaults

Relationships & Source Files
Extension / Inclusion / Inheritance Descendants
Extended In:
Defined in: lib/mongoid/config/defaults.rb

Overview

Encapsulates logic for loading defaults.

Instance Method Summary

Instance Method Details

#load_defaults(version)

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.

raises [ ArgumentError ] if an invalid version is given.

Parameters:

  • version (String | Float)

    The version number as X.y.

[ GitHub ]

  
# File 'lib/mongoid/config/defaults.rb', line 14

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'
    self.allow_reparenting_via_nested_attributes = true
    self.autosave_saves_unchanged_documents = true

    load_defaults '9.1'

  when '9.1'
    # All flag defaults currently reflect 9.1 behavior.

  else
    raise ArgumentError, "Unknown version: #{version}"
  end
end