From df71e48be8b08edf287a0ec855342c89bbb94218 Mon Sep 17 00:00:00 2001 From: Aaron Patterson Date: Wed, 5 Aug 2015 16:55:03 -0700 Subject: allocate a request object to avoid hash allocations This decouples the `call` method from knowing the SCRIPT_NAME key and offloads decisions about how to access script_name --- railties/lib/rails/engine.rb | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'railties/lib/rails/engine.rb') diff --git a/railties/lib/rails/engine.rb b/railties/lib/rails/engine.rb index 1dede32dd4..3ec5a949a7 100644 --- a/railties/lib/rails/engine.rb +++ b/railties/lib/rails/engine.rb @@ -519,9 +519,8 @@ module Rails # Define the Rack API for this engine. def call(env) env.merge!(env_config) - if env['SCRIPT_NAME'] - env[routes.env_key] = env['SCRIPT_NAME'].dup - end + req = ActionDispatch::Request.new env + req.engine_script_name = req.script_name app.call(env) end -- cgit v1.2.3 From a31bfe69837b63a6501925d37e1ebd149e90e1a0 Mon Sep 17 00:00:00 2001 From: Aaron Patterson Date: Wed, 5 Aug 2015 17:13:19 -0700 Subject: routes in the env via the request object --- railties/lib/rails/engine.rb | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'railties/lib/rails/engine.rb') diff --git a/railties/lib/rails/engine.rb b/railties/lib/rails/engine.rb index 3ec5a949a7..07d0c270b7 100644 --- a/railties/lib/rails/engine.rb +++ b/railties/lib/rails/engine.rb @@ -520,15 +520,14 @@ module Rails def call(env) env.merge!(env_config) req = ActionDispatch::Request.new env + req.routes = routes req.engine_script_name = req.script_name app.call(env) end # Defines additional Rack env configuration that is added on each call. def env_config - @env_config ||= { - 'action_dispatch.routes' => routes - } + @env_config ||= {} end # Defines the routes for this engine. If a block is given to -- cgit v1.2.3 From f50e90a1aeaee0e1e907e51cd2a9349d0af2c087 Mon Sep 17 00:00:00 2001 From: Kir Shatrov Date: Tue, 4 Aug 2015 17:53:15 +0200 Subject: Reload I18n locales in development --- railties/lib/rails/engine.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'railties/lib/rails/engine.rb') diff --git a/railties/lib/rails/engine.rb b/railties/lib/rails/engine.rb index 1dede32dd4..463d5f01e4 100644 --- a/railties/lib/rails/engine.rb +++ b/railties/lib/rails/engine.rb @@ -589,7 +589,7 @@ module Rails # I18n load paths are a special case since the ones added # later have higher priority. initializer :add_locales do - config.i18n.railties_load_path.concat(paths["config/locales"].existent) + config.i18n.railties_load_path << paths["config/locales"] end initializer :add_view_paths do -- cgit v1.2.3