on develop help sign in
Ensuring similar casing of namespaces for API resource modules
commita1c8a25b13fc9bddec04d8e9d015a87f60352d82 authorBrendan Hay <brendan.g.hay@gmail.com> dateMon 28 Sep 2015, 19:31 (11 years ago) parent80dbec6
5 files changed+16−10
gen/annex/adexchangebuyer.json+1−1 gen/annex/adexchangeseller.json+1−1 gen/src/Gen/AST.hs+2−2 gen/src/Gen/Types/Id.hs+11−5 gen/template/action.ede+1−1
gen/annex/adexchangebuyer.json+1−1
@@ -1,5 +1,5 @@
11{
22 "library": "adexchange-buyer",
3− "canonicalName": "AdExchange.Buyer"
3+ "canonicalName": "AdExchangeBuyer"
44}
55
gen/annex/adexchangeseller.json+1−1
@@ -1,5 +1,5 @@
11{
22 "library": "adexchange-seller",
3− "canonicalName": "AdExchange.Seller"
3+ "canonicalName": "AdExchangeSeller"
44}
55
gen/src/Gen/AST.hs+2−2
@@ -130,7 +130,7 @@ render svc = do
130130 Sub ms -> traverse (uncurry verb) (Map.toList ms)
131131
132132 verb l m = do
133− let (k, i, ns) = vname (_mId m)
133+ let (k, i, ns) = vname (svcAbbrev svc) (_mId m)
134134 s <- solve i
135135 Just d <- typ s
136136 fmap (k,) $
@@ -204,7 +204,7 @@ flatten svc = do
204204 Sub ms -> Sub <$> Map.traverseWithKey (verb l) ms
205205
206206 verb p l m = do
207− let (_, i, _) = vname (_mId m)
207+ let (_, i, _) = vname (svcAbbrev svc) (_mId m)
208208 rs <- Map.traverseWithKey (prm i) (_mParameters m)
209209 _ <- ins i $
210210 Obj (Info (_mDescription m) Nothing False Nothing) (Map.map _prmSchema (rs <> qs))
gen/src/Gen/Types/Id.hs+11−5
@@ -19,6 +19,7 @@ import Data.Aeson hiding (Bool, String)
1919import Data.Aeson.TH
2020import qualified Data.Attoparsec.Text as A
2121import Data.Bifunctor
22+import qualified Data.CaseInsensitive as CI
2223import Data.Char
2324import Data.Function (on)
2425import Data.Hashable
@@ -42,12 +43,17 @@ import Language.Haskell.Exts.Build
4243import Language.Haskell.Exts.Pretty (prettyPrint)
4344import Language.Haskell.Exts.Syntax (Name)
4445
45−vname :: Text -> (Name, Id, [Text])
46−vname n = (dname (g (x <> "API")), g x, ns)
46+vname :: Text -> Text -> (Name, Id, [Text])
47+vname abrv r = (dname (g (n <> "API")), g (n <> "'"), ns)
4748 where
48− g = Free . Global
49− x = mconcat (drop 1 ns)
50− ns = map (upperAcronym . upperHead) $ Text.split (== '.') n
49+ g = Free . Global
50+ n = mconcat (drop 1 ns)
51+
52+ ns | CI.mk e == CI.mk x = e:xs
53+ | otherwise = x:xs
54+ where
55+ e = Text.replace "." "" abrv
56+ x:xs = map (upperAcronym . upperHead) $ Text.split (== '.') r
5157
5258dname, cname :: Id -> Name
5359dname = name . Text.unpack . upperHead . idToText
gen/template/action.ede+1−1
@@ -12,7 +12,7 @@
1212--
1313{{ action.type.help }}
1414--
15−-- /See:/ <{{ documentationLink }} {{ title }} Reference> for {{ action.prettyName }}.
15+-- /See:/ <{{ documentationLink }} {{ title }} Reference> for @{{ action.prettyName }}@.
1616module {{ action.ns }}
1717 (
1818 -- * REST Resource