Module: Kward::PrivateFile

Defined in:
lib/kward/private_file.rb

Class Method Summary collapse

Class Method Details

.write_json(path, data) ⇒ Object



8
9
10
11
12
13
14
15
16
# File 'lib/kward/private_file.rb', line 8

def write_json(path, data)
  path = File.expand_path(path)
  FileUtils.mkdir_p(File.dirname(path), mode: 0o700)
  File.open(path, File::WRONLY | File::CREAT | File::TRUNC, 0o600) do |file|
    file.write(JSON.pretty_generate(data))
    file.write("\n")
  end
  File.chmod(0o600, path)
end