Spec-Zone.ru › Ruby on Rails 8.1

class Rails::Railtie::Configuration

Родительский класс:
Object

Открытые методы класса

new () Показать исходный код
# File railties/lib/rails/railtie/configuration.rb, line 8
def initialize
  @@options ||= {}
end

Открытые методы экземпляра

after_initialize (&block) Показать исходный код
# File railties/lib/rails/railtie/configuration.rb, line 70
def after_initialize(&block)
  ActiveSupport.on_load(:after_initialize, yield: true, &block)
end

Последний блок конфигурации, который выполняется. Вызывается после инициализации фреймворков.

after_routes_loaded (&block) Показать исходный код
# File railties/lib/rails/railtie/configuration.rb, line 75
def after_routes_loaded(&block)
  ActiveSupport.on_load(:after_routes_loaded, yield: true, &block)
end

Вызывается после загрузки маршрутов приложения.

app_generators () { |app_generators| ... } Показать исходный код
# File railties/lib/rails/railtie/configuration.rb, line 47
def app_generators
  @@app_generators ||= Rails::Configuration::Generators.new
  yield(@@app_generators) if block_given?
  @@app_generators
end

Это позволяет изменять генераторы приложения из Railties.

Значения, заданные в app_generators, станут значениями по умолчанию для приложения, если приложение не переопределит их.

app_middleware () Показать исходный код
# File railties/lib/rails/railtie/configuration.rb, line 39
def app_middleware
  @@app_middleware ||= Rails::Configuration::MiddlewareStackProxy.new
end

Это позволяет изменять промежуточное ПО приложения из движков.

Все операции, выполняемые над app_middleware, будут повторены для приложения после его определения и создания default_middlewares.

before_configuration (&block) Показать исходный код
# File railties/lib/rails/railtie/configuration.rb, line 54
def before_configuration(&block)
  ActiveSupport.on_load(:before_configuration, yield: true, &block)
end

Первый блок конфигурации, который выполняется. Вызывается до запуска любых инициализаторов.

before_eager_load (&block) Показать исходный код
# File railties/lib/rails/railtie/configuration.rb, line 60
def before_eager_load(&block)
  ActiveSupport.on_load(:before_eager_load, yield: true, &block)
end

Третий блок конфигурации, который выполняется. Не выполняется, если config.eager_load установлено в false.

before_initialize (&block) Показать исходный код
# File railties/lib/rails/railtie/configuration.rb, line 65
def before_initialize(&block)
  ActiveSupport.on_load(:before_initialize, yield: true, &block)
end

Второй блок конфигурации, который выполняется. Вызывается до инициализации фреймворков.

eager_load_namespaces () Показать исходный код
# File railties/lib/rails/railtie/configuration.rb, line 18
def eager_load_namespaces
  @@eager_load_namespaces ||= []
end

Все пространства имён, загружаемые заблаговременно

respond_to? (name, include_private = false) Показать исходный код
# File railties/lib/rails/railtie/configuration.rb, line 90
def respond_to?(name, include_private = false)
  super || @@options.key?(name.to_sym)
end
Вызывает метод суперкласса
to_prepare (&blk) Показать исходный код
# File railties/lib/rails/railtie/configuration.rb, line 86
def to_prepare(&blk)
  to_prepare_blocks << blk if blk
end

Определяет универсальные обратные вызовы, выполняемые перед after_initialize. Полезно для подклассов Rails::Railtie.

to_prepare_blocks () Показать исходный код
# File railties/lib/rails/railtie/configuration.rb, line 80
def to_prepare_blocks
  @@to_prepare_blocks ||= []
end

Array обратных вызовов, определённых с помощью to_prepare.

watchable_dirs () Показать исходный код
# File railties/lib/rails/railtie/configuration.rb, line 30
def watchable_dirs
  @@watchable_dirs ||= {}
end

Добавляет каталоги, за изменениями которых следует наблюдать. Ключами хешей должны быть каталоги, а значениями — массив расширений для поиска в каждом каталоге.

watchable_files () Показать исходный код
# File railties/lib/rails/railtie/configuration.rb, line 23
def watchable_files
  @@watchable_files ||= []
end

Добавляет файлы, за изменениями которых следует наблюдать.

© 2004–2021 David Heinemeier Hansson
Licensed under the MIT License.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API