Sha256: 4f047674673d0400fe44d70d1a855ab69f8bd2b77ff42eba20f331ad077b7e09

Contents?: true

Size: 1.41 KB

Versions: 12

Compression:

Stored size: 1.41 KB

Contents

# frozen_string_literal: true

require "mongoid/deprecation"

module Mongoid

  # Adds ability to declare Mongoid-specific deprecations.
  #
  # @api private
  module Deprecable

    # Declares method(s) as deprecated.
    #
    # @example Deprecate a method.
    #   Mongoid.deprecate(Cat, :meow); Cat.new.meow
    #   #=> Mongoid.logger.warn("meow is deprecated and will be removed from Mongoid 8.0")
    #
    # @example Deprecate a method and declare the replacement method.
    #   Mongoid.deprecate(Cat, meow: :speak); Cat.new.meow
    #   #=> Mongoid.logger.warn("meow is deprecated and will be removed from Mongoid 8.0 (use speak instead)")
    #
    # @example Deprecate a method and give replacement instructions.
    #   Mongoid.deprecate(Cat, meow: 'eat :catnip instead'); Cat.new.meow
    #   #=> Mongoid.logger.warn("meow is deprecated and will be removed from Mongoid 8.0 (eat :catnip instead)")
    #
    # @param [ Module ] target_module The parent which contains the method.
    # @param [ [ Symbol | Hash<Symbol, [ Symbol | String ]> ]... ] *method_descriptors
    #   The methods to deprecate, with optional replacement instructions.
    def deprecate(target_module, *method_descriptors)
      @_deprecator ||= Mongoid::Deprecation.new
      @_deprecator.deprecate_methods(target_module, *method_descriptors)
    end
  end
end

# Ensure Mongoid.deprecate can be used during initialization
Mongoid.extend(Mongoid::Deprecable)

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
mongoid-8.0.10 lib/mongoid/deprecable.rb
mongoid-8.1.10 lib/mongoid/deprecable.rb
mongoid-8.1.9 lib/mongoid/deprecable.rb
mongoid-8.0.9 lib/mongoid/deprecable.rb
mongoid-8.1.8 lib/mongoid/deprecable.rb
mongoid-8.1.7 lib/mongoid/deprecable.rb
mongoid-8.1.6 lib/mongoid/deprecable.rb
mongoid-8.0.8 lib/mongoid/deprecable.rb
mongoid-8.1.5 lib/mongoid/deprecable.rb
mongoid-8.1.4 lib/mongoid/deprecable.rb
mongoid-8.0.7 lib/mongoid/deprecable.rb
mongoid-8.1.3 lib/mongoid/deprecable.rb