mirror of
https://github.com/hashicorp/vagrant.git
synced 2026-05-28 04:36:05 -04:00
Remove symbol transformation in config
This commit is contained in:
parent
f220ac2f94
commit
81ec1173c2
1 changed files with 2 additions and 37 deletions
|
|
@ -157,45 +157,10 @@ module Vagrant
|
|||
@__finalized = true
|
||||
end
|
||||
|
||||
def transform_symbols(m)
|
||||
if m.is_a?(Array)
|
||||
m.each do |v|
|
||||
if v.is_a?(Hash)
|
||||
v.transform_keys!{|sk| sk.to_s}
|
||||
transform_symbols(v)
|
||||
next
|
||||
end
|
||||
if v.is_a?(Array)
|
||||
v.map!{|sk| sk.is_a?(Symbol) ? SYMBOL_PROTO.new(str: sk.to_s) : sk}
|
||||
transform_symbols(v)
|
||||
next
|
||||
end
|
||||
end
|
||||
m.map!{|sk| sk.is_a?(Symbol) ? SYMBOL_PROTO.new(str: sk.to_s) : sk}
|
||||
elsif m.is_a?(Hash)
|
||||
m.each do |k,v|
|
||||
if v.is_a?(Hash)
|
||||
v.transform_keys!{|sk| sk.to_s}
|
||||
transform_symbols(v)
|
||||
next
|
||||
end
|
||||
if v.is_a?(Array)
|
||||
v.map!{|sk| sk.is_a?(Symbol) ? SYMBOL_PROTO.new(str: sk.to_s) : sk}
|
||||
transform_symbols(v)
|
||||
next
|
||||
end
|
||||
m[k] = SYMBOL_PROTO.new(str: v.to_s) if v.is_a?(Symbol)
|
||||
end
|
||||
m.transform_keys!{|sk| sk.to_s}
|
||||
end
|
||||
end
|
||||
|
||||
def clean_up_config_object(config)
|
||||
protoize = config
|
||||
transform_symbols(protoize)
|
||||
# Remote variables that are internal
|
||||
protoize.delete_if{|k,v| k.start_with?("_") }
|
||||
protoize
|
||||
config.delete_if{|k,_| k.start_with?("_") }
|
||||
config
|
||||
end
|
||||
|
||||
def to_proto(type)
|
||||
|
|
|
|||
Loading…
Reference in a new issue