Skip to content

Commit 488ccba

Browse files
martinemdedeivid-rodriguez
authored andcommitted
Merge pull request #6923 from technicalpickles/bundler-settings-bracket-operator-performance
(Further) Improve Bundler::Settings#[] performance and memory usage (cherry picked from commit 54032f3)
1 parent 31f3b0d commit 488ccba

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

bundler/lib/bundler/settings.rb

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -100,10 +100,12 @@ def initialize(root = nil)
100100
def [](name)
101101
key = key_for(name)
102102

103-
values = configs.values
104-
values.map! {|config| config[key] }
105-
values.compact!
106-
value = values.first
103+
value = nil
104+
configs.each do |_, config|
105+
value = config[key]
106+
next if value.nil?
107+
break
108+
end
107109

108110
converted_value(value, name)
109111
end
@@ -314,7 +316,7 @@ def key_for(key)
314316
private
315317

316318
def configs
317-
{
319+
@configs ||= {
318320
:temporary => @temporary,
319321
:local => @local_config,
320322
:env => @env_config,

0 commit comments

Comments
 (0)