Path library for Elixir inspired by Python's pathlib
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
ci/script/circleci
lib
script
test
.gitignore
.tools-versions
.travis.yml
LICENSE
Makefile
README.md
circle.yml
mix.exs
wercker.yml

README.md

Radpath

Build Status Build Status wercker status Circle CI Inline docs Build Status Coverage Status

A library for dealing with paths in Elixir largely inspired by Python's pathlib.

Getting Started

To use Radpath, add a dependency in your mix:

def deps do
  [ { :Radpath, github: "lowks/Radpath"}]
end

then mix deps.get fetches dependencies and compiles Radpath.

Status

Developed whenever I can find the time.

Running Tests

Running tests against a stable release of Elixir defined by 'STABLE_ELIXIR_VERSION' in the Makefile:

make ci

Running tests against your system's Elixir:

make

Docs (Lite Version)

To list down files in a path:

Radpath.files("/home/lowks/Documents")

or if you wanted to filter out certain files with pdf extensions:

Radpath.files("/home/lowks/Documents", "pdf")

Listing down only directories:

Radpath.dirs("/home/lowks")                  

To create symlink:

Radpath.symlink(source, destination)

To create tempfile:

{status, fd, file_path}  = Radpath.mktempfile
IO.write fd, "hoho"
File.close fd
File.read! filepath
"hoho"
File.rm! filepath

This uses all the defaults

To customize the location plus the extension:

{_, fd, filepath} = Radpath.mktempfile(".log", "/home/lowks/Downloads")
IO.write fd, "hoho"
File.read! filepath
"hoho"
File.close! filepath

The default is ".log". Checkout the rest of the docs in the docs folder.

Run mix docs to generate a nice docs in a local folder or you can read them online: Radpath hexdocs

Check out test examples for usage.