optimize Context init: avoid unnecessary array wrapping for environments

This commit is contained in:
Tobi Lutke
2026-03-11 08:56:45 -04:00
parent 405e3dca48
commit b90d7f0a08
+6 -3
View File
@@ -24,10 +24,13 @@ module Liquid
def initialize(environments = {}, outer_scope = {}, registers = {}, rethrow_errors = false, resource_limits = nil, static_environments = {}, environment = Environment.default) def initialize(environments = {}, outer_scope = {}, registers = {}, rethrow_errors = false, resource_limits = nil, static_environments = {}, environment = Environment.default)
@environment = environment @environment = environment
@environments = [environments] @environments = environments.is_a?(Array) ? environments : [environments]
@environments.flatten!
@static_environments = [static_environments].flatten(1).freeze @static_environments = if static_environments.is_a?(Array)
static_environments.frozen? ? static_environments : static_environments.freeze
else
[static_environments].freeze
end
@scopes = [outer_scope || {}] @scopes = [outer_scope || {}]
@registers = registers.is_a?(Registers) ? registers : Registers.new(registers) @registers = registers.is_a?(Registers) ? registers : Registers.new(registers)
@errors = [] @errors = []