yesod-ip 0.1 → 0.2
raw patch · 3 files changed
+19/−2 lines, 3 filesdep ~ip
Dependency ranges changed: ip
Files
- src/Database/Persist/Net/PostgreSQL.hs +11/−0
- src/Database/Persist/Net/Simple.hs +6/−0
- yesod-ip.cabal +2/−2
src/Database/Persist/Net/PostgreSQL.hs view
@@ -20,6 +20,17 @@ import Net.Mac (Mac) import qualified Data.Text as Text import qualified Net.IPv4.Text as IPv4Text+import qualified Net.IPv4.ByteString.Char8 as IPv4ByteString +instance PersistField IPv4 where+ toPersistValue = toPersistValue . IPv4Text.encode+ fromPersistValue v = case v of+ PersistDbSpecific s -> case IPv4ByteString.decode s of+ Just x -> Right x+ Nothing -> Left (Text.pack "PersistValue IPv4: Invalid format")+ _ -> Left (Text.pack "PersistValue IPv4: Not a PersistDbSpecific")++instance PersistFieldSql IPv4 where+ sqlType _ = SqlOther (Text.pack "inet")
src/Database/Persist/Net/Simple.hs view
@@ -24,9 +24,15 @@ toPersistValue = toPersistValueTextShow IPv4Text.encode fromPersistValue = fromPersistValueTextRead IPv4Text.decode +instance PersistFieldSql IPv4 where+ sqlType _ = SqlString+ instance PersistField Mac where toPersistValue = toPersistValueTextShow MacText.encode fromPersistValue = fromPersistValueTextRead MacText.decode++instance PersistFieldSql Mac where+ sqlType _ = SqlString fromPersistValueTextRead :: (Text -> Maybe a) -> PersistValue -> Either Text a fromPersistValueTextRead fromText z = do
yesod-ip.cabal view
@@ -1,5 +1,5 @@ name: yesod-ip-version: 0.1+version: 0.2 synopsis: Code for using the ip package with yesod description: Please see README.md homepage: https://github.com/andrewthad/yesod-ip#readme@@ -25,7 +25,7 @@ , yesod-core , yesod-form , persistent- , ip == 0.4+ , ip == 0.5 default-language: Haskell2010 source-repository head