Refactor response functions to use 'as->' macro

Signed-off-by: Sebastian Crane <seabass-labrax@gmx.com>
This commit is contained in:
Sebastian Crane 2022-02-26 23:18:19 +00:00
parent e4df11f12d
commit d9dc7acd34
1 changed files with 11 additions and 17 deletions

View File

@ -13,25 +13,19 @@
(defn sort-case-insensitive [coll]
(sort #(apply compare (map str/lower-case %&)) coll))
(defn sorted-players-of-game [state game]
(->> game
(keywordise-game)
(game/get-players-of-game state)
(sort-case-insensitive)))
(defn match-string [& {:keys [state game]}]
(str "Anyone ready for "
game
"? "
(str/join " " (sorted-players-of-game state game))))
(defn match-string [& {:keys [state game player]}]
(as-> (keywordise-game game) x
(game/get-players-of-game state x)
(sort-case-insensitive x)
(str/join " " x)
(str "Anyone ready for " game "? " x)))
(defn list-players-string [& {:keys [state game]}]
(let [players (str/join (map #(str " _" % "_")
(sorted-players-of-game state game)))]
(str "Players of "
game
":"
players)))
(as-> (keywordise-game game) x
(game/get-players-of-game state x)
(sort-case-insensitive x)
(map #(str " _" % "_") x)
(apply str "Players of " game ":" x)))
(defn add-player-string [& {:keys [game player]}]
(str "Added "