class Bundler::Settings

def set_key(raw_key, value, hash, file)

def set_key(raw_key, value, hash, file)
  raw_key = self.class.key_to_s(raw_key)
  value = array_to_s(value) if is_array(raw_key)
  key = key_for(raw_key)
  return if hash[key] == value
  hash[key] = value
  hash.delete(key) if value.nil?
  Validator.validate!(raw_key, converted_value(value, raw_key), hash)
  return unless file
  SharedHelpers.filesystem_access(file) do |p|
    FileUtils.mkdir_p(p.dirname)
    p.open("w") {|f| f.write(serializer_class.dump(hash)) }
  end
end