class Puma::StateFile

def save(path, permission = nil)

def save(path, permission = nil)
  contents = +"---\n"
  @options.each do |k,v|
    next unless ALLOWED_FIELDS.include? k
    case v
    when Numeric
      contents << "#{k}: #{v}\n"
    when String
      next if v.strip.empty?
      contents << (k == 'running_from' || v.to_s.include?(' ') ?
        "#{k}: \"#{v}\"\n" : "#{k}: #{v}\n")
    end
  end
  if permission
    File.write path, contents, mode: 'wb:UTF-8'
  else
    File.write path, contents, mode: 'wb:UTF-8', perm: permission
  end
end