Improve preflight file permissions check (#114)
* Added startup permissions check with more helpful message * Updated README * Fixes faulty test
This commit is contained in:
@@ -20,6 +20,21 @@ defmodule Pinchflat.Filesystem.FilesystemHelpers do
|
||||
filepath
|
||||
end
|
||||
|
||||
@doc """
|
||||
Writes content to a file, creating directories as needed.
|
||||
Takes the same args as File.write/3.
|
||||
|
||||
Returns :ok | {:error, any()}
|
||||
"""
|
||||
def write_p(file, content, modes \\ []) do
|
||||
dirname = Path.dirname(file)
|
||||
|
||||
case File.mkdir_p(dirname) do
|
||||
:ok -> File.write(file, content, modes)
|
||||
err -> err
|
||||
end
|
||||
end
|
||||
|
||||
@doc """
|
||||
Writes content to a file, creating directories as needed.
|
||||
Takes the same args as File.write!/3.
|
||||
@@ -27,11 +42,7 @@ defmodule Pinchflat.Filesystem.FilesystemHelpers do
|
||||
Returns :ok | raises on error
|
||||
"""
|
||||
def write_p!(filepath, content, modes \\ []) do
|
||||
filepath
|
||||
|> Path.dirname()
|
||||
|> File.mkdir_p!()
|
||||
|
||||
File.write!(filepath, content, modes)
|
||||
:ok = write_p(filepath, content, modes)
|
||||
end
|
||||
|
||||
@doc """
|
||||
|
||||
Reference in New Issue
Block a user