@@ -30,11 +30,11 @@ defmodule Temp do
30
30
@ doc """
31
31
Same as `track/1`, but raises an exception on failure. Otherwise, returns `:ok`
32
32
"""
33
- @ spec track! :: pid
33
+ @ spec track! :: pid | no_return
34
34
def track! ( ) do
35
35
case track ( ) do
36
36
{ :ok , pid } -> pid
37
- err -> raise Temp.Error , message: err
37
+ { :error , err } -> raise Temp.Error , message: err
38
38
end
39
39
end
40
40
@@ -84,7 +84,7 @@ defmodule Temp do
84
84
def path! ( options \\ nil ) do
85
85
case path ( options ) do
86
86
{ :ok , path } -> path
87
- err -> raise Temp.Error , message: err
87
+ { :error , err } -> raise Temp.Error , message: err
88
88
end
89
89
end
90
90
@@ -99,7 +99,7 @@ defmodule Temp do
99
99
100
100
See `path/1`.
101
101
"""
102
- @ spec open ( options , nil | ( File . io_device -> any ) ) :: { :ok , File . io_device , Path . t } | { :error , any }
102
+ @ spec open ( options , nil | ( File . io_device -> any ) ) :: { :ok , Path . t } | { :ok , File . io_device , Path . t } | { :error , any }
103
103
def open ( options \\ nil , func \\ nil ) do
104
104
case generate_name ( options , "f" ) do
105
105
{ :ok , path , options } ->
@@ -122,7 +122,7 @@ defmodule Temp do
122
122
@ doc """
123
123
Same as `open/1`, but raises an exception on failure.
124
124
"""
125
- @ spec open! ( options , pid | nil ) :: { File . io_device , Path . t }
125
+ @ spec open! ( options , pid | nil ) :: Path . t | { File . io_device , Path . t } | no_return
126
126
def open! ( options \\ nil , func \\ nil ) do
127
127
case open ( options , func ) do
128
128
{ :ok , res , path } -> { res , path }
@@ -159,7 +159,7 @@ defmodule Temp do
159
159
Same as `mkdir/1`, but raises an exception on failure. Otherwise, returns
160
160
a temporary directory path.
161
161
"""
162
- @ spec mkdir! ( options ) :: Path . t
162
+ @ spec mkdir! ( options ) :: Path . t | no_return
163
163
def mkdir! ( options \\ % { } ) do
164
164
case mkdir ( options ) do
165
165
{ :ok , path } ->
@@ -192,14 +192,11 @@ defmodule Temp do
192
192
end
193
193
end
194
194
195
-
196
- @ spec add_suffix ( [ String . t ] , nil | String . t ) :: [ String . t ]
197
195
defp add_suffix ( parts , suffix )
198
196
defp add_suffix ( parts , nil ) , do: parts
199
197
defp add_suffix ( parts , ( "." <> _suffix ) = suffix ) , do: parts ++ [ suffix ]
200
198
defp add_suffix ( parts , suffix ) , do: parts ++ [ "-" , suffix ]
201
199
202
- @ spec prefix ( nil | map ) :: { :ok , Path . t } | { :error , String . t }
203
200
defp prefix ( % { basedir: dir } ) , do: { :ok , dir }
204
201
defp prefix ( _ ) do
205
202
case System . tmp_dir do
@@ -208,7 +205,6 @@ defmodule Temp do
208
205
end
209
206
end
210
207
211
- @ spec parse_affixes ( options , Path . t ) :: map
212
208
defp parse_affixes ( nil , default_prefix ) , do: % { prefix: default_prefix }
213
209
defp parse_affixes ( affixes , _ ) when is_bitstring ( affixes ) , do: % { prefix: affixes , suffix: nil }
214
210
defp parse_affixes ( affixes , default_prefix ) when is_map ( affixes ) do
0 commit comments