Krug.FileUtil (Krug v0.2.0) View Source
Utilitary module to handle files and directories.
Link to this section Summary
Functions
Change the file/directory permissions.
Copy the content of a directory to another directory.
Copy a file to another file.
Creates a new directory with name specified.
Delete a directory with specified name.
Delete a file.
Read a content of a file.
Remove the content of a file if that is located between insertion_points[0] and insertion_points[1]. The insertion_points are removed too.
Replaces all ocurrences of a search_by
parameter value
by replace_to
parameter value in the file.
Write a content in a file, if the file exists and is a file (not directory).
Link to this section Functions
Change the file/directory permissions.
Return true if the file/directory exists and the permissions are correctly changed.
Permission should be initiate with 0o
chars
(for example 0o777
, 0o755
, 0o744
, 0o600
).
Example
iex > Krug.FileUtil.chmod(path,0o777)
true (or false if fail)
Copy the content of a directory to another directory.
Finally change permissions of the destination directory to 777 (chmod), in success case.
Example
iex > Krug.FileUtil.copy_dir(from_dir,to_dir)
true (or false if fail)
Copy a file to another file.
Return false if a destination file already exists and the parameter ignore_if_exists don't was received as true.
Finally change permissions of the destination file to 777 (chmod), in success case.
Examples
iex > Krug.FileUtil.copy_file(from_file,to_file)
true (or false if fail)
iex > Krug.FileUtil.copy_file(from_file,to_file,true)
true (or false if fail)
Creates a new directory with name specified.
If already exists a directory with this name, only preserve these directory.
If exists a file with this name try delete the file before create a new directory. Return false if this file cannot be deleted.
Finally change permissions of these dir to 777 (chmod), in success case.
Example
iex > Krug.FileUtil.create_dir(path)
true (or false if fail)
Delete a directory with specified name.
Return false if the directory don't exists and parameter ignore_if_dont_exists is false/don't received.
If the name is a file and not a diectory, return false.
Examples
iex > Krug.FileUtil.drop_dir(path)
true (or false if fail)
iex > Krug.FileUtil.drop_dir(path,true)
true (or false if fail)
Delete a file.
Return false if the file don't exists and the parameter ignore_if_dont_exists don't was received as true.
If file is a directory, return false.
Examples
iex > Krug.FileUtil.drop_file(path)
true (or false if fail)
iex > Krug.FileUtil.drop_file(path,true)
true (or false if fail)
Read a content of a file.
Return nil file is a directory, or don't exists, or the operation failed on open/read the file.
Example
iex > Krug.FileUtil.read_file(path)
file content (or nil)
Remove the content of a file if that is located between insertion_points[0] and insertion_points[1]. The insertion_points are removed too.
Fail if the file don't exists, is a directory, operation fail, or the insertion_points[0] or insertion_points[1] don't exists in file.
Accept only file extensions: ["sql","txt","html","ts","js","ex","exs","sh","json"]
will fail for other file extensions.
Example
iex > Krug.FileUtil.remove(path,["markerBegin","markerEnd"])
true (or false if fail)
Replaces all ocurrences of a search_by
parameter value
by replace_to
parameter value in the file.
Fail if the file is directory or don't exists.
Accept only file extensions: ["sql","txt","html","ts","js","ex","exs","sh","json"]
will fail for other file extensions.
Example
iex > Krug.FileUtil.replace_in_file(path,"AA","BB")
true (or false if fail)
write(path, content, insertion_points \\ [], insertion_point_tag \\ nil)
View SourceWrite a content in a file, if the file exists and is a file (not directory).
If the parameter insertion_points and parameter insertion_point_tag are received, the content original is preserved and content received is inserted before of insertion_point_tag and beetwen insertion_points[0] and insertion_points[1]. (insertion_points are write in this moment, and could be used to remove this content later).
If insertion_point_tag is received and don't exists in file, return false.
Accept only file extensions: ["sql","txt","html","ts","js","ex","exs","sh","json"]
will fail for other file extensions.
Examples
iex > Krug.FileUtil.write(path,content)
true (or false if fail)
iex > Krug.FileUtil.write(path,content,["markerBegin","markerEnd"],"markerInsertion")
true (or false if fail)