Rails stores global state (Rails.application, Rails.cache, Rails.logger, config set via mattr_accessor) in class-level instance variables, which are illegal to read or write from non-main Ractors. This shim reroutes those accessors through ActiveSupport::IsolatedExecutionState (which is already Ractor-safe, being thread-local with per-ractor threads) or Ractor.store_if_absent, so a Rails app can run in Ractor mode. This is a stopgap: the goal is for Rails to do this upstream, at which point the shim becomes a no-op and can be removed.
Required Ruby Version
>= 4.0
Authors
dev