Project

General

Profile

Feature #29991

Enable Zeitwerk autoload mode for Rails 6+

Added by Lukas Zapletal almost 2 years ago. Updated about 2 months ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
Rails
Target version:
-
Difficulty:
Triaged:
No
Bugzilla link:
Pull request:
Fixed in Releases:
Found in Releases:

Description

We should take advantage of the new and threadsafe autoloader: https://guides.rubyonrails.org/autoloading_and_reloading_constants.html#enabling-zeitwerk-mode


Subtasks

Refactor #33886: Fix early loads of constantsReady For TestingOndřej Ezr
Refactor #33887: Postpone CacheManager recache after rails is initializedRejectedOndřej Ezr
Refactor #33888: Postpone Setting load to after_initializationNew
Refactor #33889: Postpone FogExtensions after initializationNew
Refactor #33890: Require foreman/gettext directlyClosed
Refactor #33891: require Telemetry constantsDuplicate
Refactor #33892: Postpone setting validations to to_prepareClosedOndřej Ezr
Refactor #33949: Fix early load of plugin fact parsersClosedLeos Stejskal
Refactor #33950: Fix early load of ForemanInternal in initializerClosedLeos Stejskal
Refactor #33957: Require Foreman::Util in initializersClosedLeos Stejskal
Refactor #33964: Load Menu::Loader in 'to_prepare'ClosedLeos Stejskal
Refactor #33967: Move basic ActiveRecord::Base custom extensions to ApplicationRecordClosedLeos Stejskal
Refactor #33968: Fix loading of Foreman::Telemetry in initializersClosedLeos Stejskal
Refactor #33975: Move menu loader from registries to servicesNew
Refactor #33989: Delay Initialization of ApiPie that depends on Model classesClosedLeos Stejskal
Refactor #33991: Require /lib dependencies in initializers/foreman.rb ClosedLeos Stejskal
Refactor #34005: Require middlewares properlyClosed
Refactor #34006: Plugin and its rbac_support are using Role and Permission models too earlyClosedOndřej Ezr
Refactor #34009: Add plugin after_initialize hookClosedOndřej Ezr
Refactor #34010: Add initialization method to RbacRegistryClosedOndřej Ezr
Refactor #34011: Move add_permissions_to_default_roles to rbac_registryRejected
Refactor #34012: Move add_all_permissions_to_default_roles to RbacRegistryRejected
Refactor #34013: Move add_resource_permissions_to_default_roles to RbacRegistryRejected
Refactor #34014: Move role creation into RbacRegistryRejected
Refactor #34015: Move permission creation in DB to RbacRegistryRejected
Refactor #34350: Require 'foreman/telemetry' in ldap initializerClosedLeos Stejskal
Refactor #34353: Fix early load of fog_extensionsClosedLeos Stejskal
Refactor #33895: setup Zeitwerk inflectorNew
Refactor #33896: Document how plugins can adjust Zeitwerk inflectorNew
Refactor #34007: Zeitwerk - remove 'foreman/provision' from init/foremanNew
Refactor #34137: Auto-loading & requiring /lib codeReady For Testing
Refactor #34138: Autoload ProxyAPI files from /app/servicesClosed
Refactor #34139: Move Foreman::Renderer from lib/ to app/servicesClosed
Refactor #34146: Move services from lib/foreman to app/services/foremanClosedLeos Stejskal
Refactor #34165: Require code from lib folderClosedLeos Stejskal
Refactor #34646: Move initialization from application.rb into initializerClosedOndřej Ezr

Related issues

Related to Foreman - Tracker #24837: Rails 6.0 TrackerClosed

Related to Foreman - Tracker #28570: Rails 6.1 TrackerNew

Related to foreman-tasks - Bug #34917: Tasks are loading ApplicationRecord too soon and it derails RailsClosed
Blocks Foreman - Tracker #34647: Rails 7.0 TrackerNew

History

#1 Updated by Lukas Zapletal almost 2 years ago

#2 Updated by Lukas Zapletal almost 2 years ago

#4 Updated by Ondřej Ezr 6 months ago

  • Tracker changed from Bug to Feature

#5 Updated by Ondřej Ezr 2 months ago

#6 Updated by Ondřej Ezr 11 days ago

  • Related to Bug #34917: Tasks are loading ApplicationRecord too soon and it derails Rails added

Also available in: Atom PDF