summaryrefslogtreecommitdiff
path: root/app/SlackBuilder
diff options
context:
space:
mode:
Diffstat (limited to 'app/SlackBuilder')
-rw-r--r--app/SlackBuilder/CommandLine.hs11
-rw-r--r--app/SlackBuilder/Updater.hs6
2 files changed, 10 insertions, 7 deletions
diff --git a/app/SlackBuilder/CommandLine.hs b/app/SlackBuilder/CommandLine.hs
index 1375b6e..53a6bfb 100644
--- a/app/SlackBuilder/CommandLine.hs
+++ b/app/SlackBuilder/CommandLine.hs
@@ -7,6 +7,7 @@ module SlackBuilder.CommandLine
) where
import Data.Text (Text)
+import qualified Data.Text as Text
import Options.Applicative
( Parser
, ParserInfo(..)
@@ -29,7 +30,6 @@ data SlackBuilderCommand
| CloneCommand Text Text Text
| DownloadAndDeployCommand Text Text
| Up2DateCommand
- deriving (Eq, Show)
data PackagistArguments = PackagistArguments
{ vendor :: Text
@@ -42,11 +42,14 @@ data GhArguments = GhArguments
, transform :: Maybe Text
} deriving (Eq, Show)
-newtype TextArguments = TextArguments Text
- deriving (Eq, Show)
+data TextArguments = TextArguments
+ { versionPicker :: Text -> Text
+ , textURL :: Text
+ }
textArguments :: Parser TextArguments
-textArguments = TextArguments <$> argument str (metavar "URL")
+textArguments = TextArguments Text.strip
+ <$> argument str (metavar "URL")
slackBuilderParser :: ParserInfo SlackBuilderCommand
slackBuilderParser = info slackBuilderCommand fullDesc
diff --git a/app/SlackBuilder/Updater.hs b/app/SlackBuilder/Updater.hs
index 864e466..1ebf7fe 100644
--- a/app/SlackBuilder/Updater.hs
+++ b/app/SlackBuilder/Updater.hs
@@ -107,11 +107,11 @@ latestPackagist PackagistArguments{..} = do
>>= fmap (version . fst) . Vector.uncons
latestText :: TextArguments -> SlackBuilderT (Maybe Text)
-latestText (TextArguments textArguments) = do
- uri <- liftIO $ useHttpsURI <$> mkURI textArguments
+latestText TextArguments{..} = do
+ uri <- liftIO $ useHttpsURI <$> mkURI textURL
packagistResponse <- traverse (runReq defaultHttpConfig . go . fst) uri
- pure $ Text.strip . Text.Encoding.decodeASCII . responseBody
+ pure $ versionPicker . Text.Encoding.decodeUtf8 . responseBody
<$> packagistResponse
where
go uri = req GET uri NoReqBody bsResponse mempty