summaryrefslogtreecommitdiff
path: root/src/Command/Extract.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Command/Extract.hs')
-rw-r--r--src/Command/Extract.hs7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/Command/Extract.hs b/src/Command/Extract.hs
index b24a1af..4336b29 100644
--- a/src/Command/Extract.hs
+++ b/src/Command/Extract.hs
@@ -31,9 +31,10 @@ instance CommandArgumentsType ExtractArguments where
extractDestination <- return (last args)
return ExtractArguments {..}
where
- toArtifactRef tref = case T.splitOn "." (T.pack tref) of
- parts@(_:_:_) -> return ( JobRef (init parts), ArtifactName (last parts) )
- _ -> throwError $ "too few parts in artifact ref ‘" <> tref <> "’"
+ toArtifactRef tref = case T.breakOnEnd "." (T.pack tref) of
+ (jobref', aref) | Just ( jobref, '.' ) <- T.unsnoc jobref'
+ -> return ( parseJobRef jobref, ArtifactName aref )
+ _ -> throwError $ "too few parts in artifact ref ‘" <> tref <> "’"
_ -> throwError "too few arguments"
data ExtractOptions = ExtractOptions