module Spellr::YAMLSymbolizeNames

Public Instance Methods

safe_load(path, *args, symbolize_names: false, **kwargs) click to toggle source
# File lib/spellr/backports.rb, line 22
def safe_load(path, *args, symbolize_names: false, **kwargs)
  if symbolize_names
    symbolize_names!(safe_load_without_symbolize_names(path, *args, **kwargs))
  else
    safe_load_without_symbolize_names(path, *args, **kwargs)
  end
end
symbolize_names!(obj) click to toggle source
# File lib/spellr/backports.rb, line 32
def symbolize_names!(obj) # rubocop:disable Metrics/MethodLength
  case obj
  when Hash
    obj.keys.each do |key| # rubocop:disable Style/HashEachMethods # each_key never finishes.
      obj[key.to_sym] = symbolize_names!(obj.delete(key))
    end
  when Array
    obj.map! { |ea| symbolize_names!(ea) }
  end
  obj
end