From d88f645e267078572c19cbe37b37acc9798ad532 Mon Sep 17 00:00:00 2001 From: Morgan Date: Tue, 10 Mar 2015 09:29:58 +0000 Subject: factor out pages and util namespaces per #6 --- src/pronouns/pages.clj | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/pronouns/pages.clj (limited to 'src/pronouns/pages.clj') diff --git a/src/pronouns/pages.clj b/src/pronouns/pages.clj new file mode 100644 index 0000000..f1f8b67 --- /dev/null +++ b/src/pronouns/pages.clj @@ -0,0 +1,33 @@ +(ns pronouns.pages + (:require [clojure.string :as s] + [pronouns.util :as u])) + +(defn format-pronoun-examples + [subject object possessive-determiner possessive-pronoun reflexive] + (s/join "\n" + [(str subject " went to the park") + (str "I went with " object) + (str subject " brought " possessive-determiner " frisbee") + (str "at least I think it was " possessive-pronoun) + (str subject " threw it to " reflexive)])) + +(defn parse-pronouns-with-lookup [pronouns-string pronouns-table] + (let [inputs (s/split pronouns-string #"/") + n (count inputs)] + (if (>= n 5) + (take 5 inputs) + (u/table-lookup inputs pronouns-table)))) + +(defn front [] + (str "pronoun.is is a www site for showing people how to use pronouns")) + +(defn not-found [] + (str "We couldn't find those pronouns in our database, please ask us to " + "add them, or issue a pull request at " + "https://github.com/witch-house/pronoun.is/blob/master/resources/pronouns.tab")) + +(defn pronouns [path pronouns-table] + (let [pronouns (parse-pronouns-with-lookup path pronouns-table)] + (if pronouns + (apply format-pronoun-examples pronouns) + (not-found)))) -- cgit