class ActiveSupport::Deprecation
Активное Поддержка устаревания
Устаревание определяет API, используемый Rails для устаревания методов, переменных экземпляра, объектов и констант. Оно также доступно для драгоценных камней или приложений.
Для драгоценного камня, используйте Deprecation.new для создания объекта Deprecation и сохраните его в своем модуле или классе (чтобы пользователи могли его настроить).
module MyLibrary
def self.deprecator
@deprecator ||= ActiveSupport::Deprecation.new("2.0", "MyLibrary")
end
end
Для Railtie или Engine, вы также можете добавить его в устаревающие приложения, чтобы конфигурация приложения могла быть применена к нему.
module MyLibrary
class Railtie < Rails::Railtie
initializer "my_library.deprecator" do |app|
app.deprecators[:my_library] = MyLibrary.deprecator
end
end
end
С вышеуказанным инициализатором, настройки конфигурации, такие как следующие, повлияют на MyLibrary.deprecator:
# in config/environments/test.rb config.active_support.deprecation = :raise
Константы
- DEFAULT_BEHAVIORS
-
Стандартные предупреждающие действия в соответствии с
Rails.env.
Атрибуты
Номер версии, в которой устаревшее поведение будет удалено, по умолчанию.
Публичные методы класса
# File activesupport/lib/active_support/deprecation.rb, line 68 def initialize(deprecation_horizon = "7.2", gem_name = "Rails") self.gem_name = gem_name self.deprecation_horizon = deprecation_horizon # By default, warnings are not silenced and debugging is off. self.silenced = false self.debug = false @silence_counter = Concurrent::ThreadLocalVar.new(0) @explicitly_allowed_warnings = Concurrent::ThreadLocalVar.new(nil) end
При инициализации он принимает два параметра. Первый — версия библиотеки, а второй — имя библиотеки.
ActiveSupport::Deprecation.new('2.0', 'MyLibrary')
© 2004–2021 David Heinemeier Hansson
Licensed under the MIT License.