persistent-documentation 0.1.0.5 → 0.1.0.6
raw patch · 4 files changed
+30/−3 lines, 4 files
Files
- CHANGELOG.md +5/−0
- persistent-documentation.cabal +1/−1
- src/Database/Persist/Documentation.hs +7/−2
- test/DocumentationSpec.hs +17/−0
CHANGELOG.md view
@@ -1,5 +1,10 @@ # Revision history for persistent-documentation +## 0.1.0.6++* [#16](https://github.com/parsonsmatt/persistent-documentation/pull/16)+ * Render `MigrationOnly` fields for `persistent >= 2.15.1.0`+ ## 0.1.0.5 * [#12](https://github.com/parsonsmatt/persistent-documentation/pull/12)
persistent-documentation.cabal view
@@ -1,7 +1,7 @@ cabal-version: >=1.10 name: persistent-documentation-version: 0.1.0.5+version: 0.1.0.6 synopsis: Documentation DSL for persistent entities description: A convenient DSL that allows you to attach documentation to persistent database entities -- bug-reports:
src/Database/Persist/Documentation.hs view
@@ -225,7 +225,7 @@ } -> Renderer rendered --- | Given a 'Renderer' for a list of entity defintiions, render it.+-- | Given a 'Renderer' for a list of entity definitions, render it. -- -- @since 0.1.0.0 render :: Renderer rendered -> [EntityDef] -> rendered@@ -234,7 +234,12 @@ where f ent = renderEntity ent entityDocs renderedFields where- fields = toList $ keyAndEntityFields ent+ fields =+#if MIN_VERSION_persistent(2,15,1)+ toList $ keyAndEntityFieldsDatabase ent+#else+ toList $ keyAndEntityFields ent+#endif entityDocs = entityComments ent renderedFields = renderFields (map (\f -> renderField f (fieldComments f)) fields)
test/DocumentationSpec.hs view
@@ -41,6 +41,8 @@ User firstName Text.Text active Bool+ -- | You can only write inline docs for MigrationOnly fields+ sqlOnly Text.Text MigrationOnly deriving Show Eq Read Ord Dog@@ -139,3 +141,18 @@ Set.fromList (mapMaybe fieldComments (alignFields fields strMap)) `shouldBe` Set.fromList ["Hello, world", "If the user is active", "user identity"]++ describe "render" $ do+ let simpleFieldRenderer = Renderer+ { renderField = \fd _ -> unFieldNameHS $ fieldHaskell fd+ , renderFields = Text.unwords+ , renderEntity = \ed _ fs -> unEntityNameHS (entityHaskell ed) <> ": " <> fs+ , renderEntities = Text.unlines+ }+#if MIN_VERSION_persistent(2,15,1)+ it "includes MigrationOnly fields" $ do+ let userDef = entityDef (Nothing :: Maybe User)+ let output = render simpleFieldRenderer [userDef]+ output `shouldBe` "User: Id firstName active sqlOnly\n"+#endif+ pure ()