From d3debef8d90735087425f7ad03da4010d636d6a7 Mon Sep 17 00:00:00 2001 From: Eric Date: Tue, 4 Sep 2012 16:25:25 -0500 Subject: add a utility file to the system with an inital mkdir_p option --- src/rcl_util.erl | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 src/rcl_util.erl (limited to 'src/rcl_util.erl') diff --git a/src/rcl_util.erl b/src/rcl_util.erl new file mode 100644 index 0000000..c0b5c5d --- /dev/null +++ b/src/rcl_util.erl @@ -0,0 +1,51 @@ +%% -*- mode: Erlang; fill-column: 80; comment-column: 75; -*- +%%% Copyright 2012 Erlware, LLC. All Rights Reserved. +%%% +%%% This file is provided to you under the Apache License, +%%% Version 2.0 (the "License"); you may not use this file +%%% except in compliance with the License. You may obtain +%%% a copy of the License at +%%% +%%% http://www.apache.org/licenses/LICENSE-2.0 +%%% +%%% Unless required by applicable law or agreed to in writing, +%%% software distributed under the License is distributed on an +%%% "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +%%% KIND, either express or implied. See the License for the +%%% specific language governing permissions and limitations +%%% under the License. +%%%--------------------------------------------------------------------------- +%%% @author Eric Merritt +%%% @copyright (C) 2012 Erlware, LLC. +%%% +%%% @doc Trivial utility file to help handle common tasks +-module(rcl_util). + +-export([mkdir_p/1]). + +%%============================================================================ +%% types +%%============================================================================ + + +%%============================================================================ +%% API +%%============================================================================ +%% @doc Makes a directory including parent dirs if they are missing. +-spec mkdir_p(string()) -> ok | {error, Reason::file:posix()}. +mkdir_p(Path) -> + %% We are exploiting a feature of ensuredir that that creates all + %% directories up to the last element in the filename, then ignores + %% that last element. This way we ensure that the dir is created + %% and not have any worries about path names + DirName = filename:join([filename:absname(Path), "tmp"]), + filelib:ensure_dir(DirName). + +%%%=================================================================== +%%% Test Functions +%%%=================================================================== + +-ifndef(NOTEST). +-include_lib("eunit/include/eunit.hrl"). + +-endif. -- cgit v1.2.3