git.iko.soy/typeable/pagerduty
on e3f3e5f help sign in
.travis.yml+4−4
since splitsnapshots
unifiedsplit
@@ -24,7 +24,7 @@ script:
24matrix:
24matrix:
25 fast_finish: true
25 fast_finish: true
26 include:
26 include:
27− - env: GHCVER=8.0.1
27+ - env: GHCVER=7.10.2
28− addons: { apt: { packages: [ghc-8.0.1], sources: [hvr-ghc] } }
28+ addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
29− - env: GHCVER=7.10.3
29+ - env: GHCVER=7.8.4
30− addons: { apt: { packages: [ghc-7.10.3], sources: [hvr-ghc] } }
30+ addons: { apt: { packages: [ghc-7.8.4], sources: [hvr-ghc] } }
Makefilenew file+22
@@ -0,0 +1,22 @@
1+FLAGS := -j --disable-documentation
2+
3+build:
4+ cabal build $(addprefix -,$(findstring j,$(MAKEFLAGS)))
5+
6+all:
7+ make clean; make install && make build
8+
9+install: cabal.sandbox.config
10+ cabal install $(FLAGS) \
11+ --only-dependencies \
12+ --force-reinstalls
13+
14+clean:
15+ cabal clean
16+ rm -rf cabal.sandbox.config .cabal-sandbox
17+
18+doc:
19+ cabal haddock
20+
21+cabal.sandbox.config:
22+ cabal sandbox init
pagerduty.cabal+5−5
@@ -1,5 +1,5 @@
1name: pagerduty
1name: pagerduty
2−version: 0.0.8
2+version: 0.0.6
3synopsis: Client library for PagerDuty Integration and REST APIs.
3synopsis: Client library for PagerDuty Integration and REST APIs.
4homepage: http://github.com/brendanhay/pagerduty
4homepage: http://github.com/brendanhay/pagerduty
5license: OtherLicense
5license: OtherLicense
@@ -71,16 +71,16 @@ library
71 , Network.PagerDuty.Types
71 , Network.PagerDuty.Types
72
72
73 build-depends:
73 build-depends:
74− aeson >= 2.0
74+ aeson >= 0.8
75− , base >= 4.7 && < 5
75+ , base >= 4.7 && < 5
76 , bifunctors >= 4.1
76 , bifunctors >= 4.1
77 , bytestring >= 0.9
77 , bytestring >= 0.9
78 , bytestring-conversion >= 0.2.1
78 , bytestring-conversion >= 0.2.1
79 , conduit > 1.1
79 , conduit > 1.1
80 , data-default-class >= 0.0.1
80 , data-default-class >= 0.0.1
81 , exceptions >= 0.6
81 , exceptions >= 0.6
82− , generics-sop >= 0.5.0.0
82+ , generics-sop >= 0.2.0.0
83− , http-client >= 0.5 && < 1
83+ , http-client >= 0.4.3
84 , http-types >= 0.8
84 , http-types >= 0.8
85 , lens >= 4.4
85 , lens >= 4.4
86 , lens-aeson >= 1
86 , lens-aeson >= 1
script/travis-lifecycle-before_install+8−3
@@ -2,10 +2,15 @@
2
2
3set -e
3set -e
4
4
5−mkdir -p ~/.local/bin
5+dir=~/.local/bin
6+remote=https://github.com/commercialhaskell/stack/releases/download/v0.1.3.1/stack-0.1.3.1-x86_64-linux.gz
7+local=$dir/stack
6
8
7−curl -L https://www.stackage.org/stack/linux-x86_64 | \
9+mkdir -p $dir
8− tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack'
10+
11+curl -L $remote | gunzip > $local
12+
13+chmod a+x $local
9
14
10ghc --version
15ghc --version
11stack --version
16stack --version
src/Control/Monad/Trans/PagerDuty.hs−1
@@ -42,7 +42,6 @@ module Control.Monad.Trans.PagerDuty
42 ) where
42 ) where
43
43
44import Control.Applicative
44import Control.Applicative
45−import Control.Monad
46import Control.Monad.Base
45import Control.Monad.Base
47import Control.Monad.Catch
46import Control.Monad.Catch
48import Control.Monad.Except (MonadError (..))
47import Control.Monad.Except (MonadError (..))
src/Network/PagerDuty/Integration.hs+3−3
@@ -81,7 +81,8 @@ module Network.PagerDuty.Integration
81import Control.Lens
81import Control.Lens
82import Control.Monad.IO.Class
82import Control.Monad.IO.Class
83import Data.Aeson
83import Data.Aeson
84+import Data.Default.Class
84−import qualified Data.Aeson.KeyMap as Map
85+import qualified Data.HashMap.Strict as Map
85import Data.Text (Text)
86import Data.Text (Text)
86import Network.HTTP.Client (Manager)
87import Network.HTTP.Client (Manager)
87import qualified Network.HTTP.Client as Client
88import qualified Network.HTTP.Client as Client
@@ -291,8 +292,7 @@ submitWith :: MonadIO m
291 -> Event
292 -> Event
292 -> m (Either Error Response)
293 -> m (Either Error Response)
293submitWith m l e = request m l e $
294submitWith m l e = request m l e $
294− Client.defaultRequest
295− { Client.host = "events.pagerduty.com"
295+ def { Client.host = "events.pagerduty.com"
296 , Client.path = "/generic/2010-04-15/create_event.json"
296 , Client.path = "/generic/2010-04-15/create_event.json"
297 , Client.method = "POST"
297 , Client.method = "POST"
298 }
298 }
src/Network/PagerDuty/Internal/Query.hs+2−2
@@ -59,8 +59,8 @@ gqueryWith :: forall a. (Generic a, HasDatatypeInfo a, All2 QueryValues (Code a)
59 -> a
59 -> a
60 -> Query
60 -> Query
61gqueryWith o a = case datatypeInfo (Proxy :: Proxy a) of
61gqueryWith o a = case datatypeInfo (Proxy :: Proxy a) of
62− ADT _ _ cs _ -> go cs (from a)
62+ ADT _ _ cs -> go cs (from a)
63− Newtype _ _ c -> go (c :* Nil) (from a)
63+ Newtype _ _ c -> go (c :* Nil) (from a)
64 where
64 where
65 go :: (All2 QueryValues xss, SListI xss)
65 go :: (All2 QueryValues xss, SListI xss)
66 => NP ConstructorInfo xss
66 => NP ConstructorInfo xss
src/Network/PagerDuty/Internal/Types.hs+8−10
@@ -29,14 +29,14 @@ module Network.PagerDuty.Internal.Types where
29import Control.Applicative
29import Control.Applicative
30import Control.Lens hiding ((.=), Empty)
30import Control.Lens hiding ((.=), Empty)
31import Control.Monad.IO.Class
31import Control.Monad.IO.Class
32−import Data.Aeson hiding (Error, Key)
32+import Data.Aeson hiding (Error)
33−import qualified Data.Aeson.KeyMap as Map
34import Data.Aeson.Types (Parser)
33import Data.Aeson.Types (Parser)
35import Data.ByteString (ByteString)
34import Data.ByteString (ByteString)
36import qualified Data.ByteString.Char8 as BS
35import qualified Data.ByteString.Char8 as BS
37import Data.ByteString.Conversion hiding (List)
36import Data.ByteString.Conversion hiding (List)
38import Data.Default.Class
37import Data.Default.Class
39import Data.Function (on)
38import Data.Function (on)
39+import qualified Data.HashMap.Strict as Map
40import Data.List (deleteBy, intersperse)
40import Data.List (deleteBy, intersperse)
41import Data.Monoid
41import Data.Monoid
42import Data.String
42import Data.String
@@ -53,7 +53,7 @@ import Network.PagerDuty.Internal.TH
53import Data.Time.Locale.Compat
53import Data.Time.Locale.Compat
54
54
55newtype CSV a = CSV [a]
55newtype CSV a = CSV [a]
56− deriving (Eq, Show, Semigroup, Monoid)
56+ deriving (Eq, Show, Monoid)
57
57
58makePrisms ''CSV
58makePrisms ''CSV
59
59
@@ -70,7 +70,7 @@ instance ToByteString a => ToJSON (CSV a) where
70 toJSON = String . Text.decodeUtf8 . toByteString'
70 toJSON = String . Text.decodeUtf8 . toByteString'
71
71
72newtype List a = L [a]
72newtype List a = L [a]
73− deriving (Eq, Show, Semigroup, Monoid)
73+ deriving (Eq, Show, Monoid)
74
74
75deriveJSON ''List
75deriveJSON ''List
76makePrisms ''List
76makePrisms ''List
@@ -310,13 +310,11 @@ data Path where
310 Path :: Path
310 Path :: Path
311 Seg :: ToByteString a => a -> Path
311 Seg :: ToByteString a => a -> Path
312
312
313−instance Semigroup Path where
314− x <> Path = x
315− Path <> y = y
316− Seg x <> Seg y = Seg (builder x <> "/" <> builder y)
317−
318instance Monoid Path where
313instance Monoid Path where
319− mempty = Path
314+ mempty = Path
315+ mappend x Path = x
316+ mappend Path y = y
317+ mappend (Seg x) (Seg y) = Seg (builder x <> "/" <> builder y)
320
318
321instance IsString Path where
319instance IsString Path where
322 fromString = Seg
320 fromString = Seg
src/Network/PagerDuty/REST.hs+3−2
@@ -29,6 +29,7 @@ import Control.Monad.IO.Class
29import Control.Monad.Trans
29import Control.Monad.Trans
30import Data.Aeson (FromJSON)
30import Data.Aeson (FromJSON)
31import Data.Conduit
31import Data.Conduit
32+import Data.Default.Class
32import Data.Monoid
33import Data.Monoid
33import Network.HTTP.Client (Manager)
34import Network.HTTP.Client (Manager)
34import qualified Network.HTTP.Client as Client
35import qualified Network.HTTP.Client as Client
@@ -89,7 +90,7 @@ http e rq = request (e ^. envManager) (e ^. envLogger) rq $ raw
89 }
90 }
90 where
91 where
91 raw = case e ^. envAuth of
92 raw = case e ^. envAuth of
92− AuthBasic u p -> Client.applyBasicAuth u p Client.defaultRequest
93+ AuthBasic u p -> Client.applyBasicAuth u p def
93− AuthToken t -> Client.defaultRequest
94+ AuthToken t -> def
94 { Client.requestHeaders = [("Authorization", "Token token=" <> t)]
95 { Client.requestHeaders = [("Authorization", "Token token=" <> t)]
95 }
96 }
src/Network/PagerDuty/REST/EscalationPolicies/EscalationRules.hs+1−1
@@ -67,7 +67,7 @@ module Network.PagerDuty.REST.EscalationPolicies.EscalationRules
67import Control.Applicative ((<$>))
67import Control.Applicative ((<$>))
68import Control.Lens hiding ((.=))
68import Control.Lens hiding ((.=))
69import Data.Aeson
69import Data.Aeson
70−import qualified Data.Aeson.KeyMap as Map
70+import qualified Data.HashMap.Strict as Map
71import Data.Text (Text)
71import Data.Text (Text)
72import Network.HTTP.Types
72import Network.HTTP.Types
73import Network.PagerDuty.Internal.TH
73import Network.PagerDuty.Internal.TH
src/Network/PagerDuty/REST/LogEntries.hs+2−1
@@ -111,11 +111,12 @@ module Network.PagerDuty.REST.LogEntries
111 , nAddress
111 , nAddress
112 ) where
112 ) where
113
113
114+import Control.Applicative
114import Control.Lens hiding (Empty)
115import Control.Lens hiding (Empty)
115import Data.Aeson
116import Data.Aeson
116import Data.Aeson.Lens
117import Data.Aeson.Lens
117−import qualified Data.Aeson.KeyMap as Map
118import Data.Default.Class
118import Data.Default.Class
119+import qualified Data.HashMap.Strict as Map
119import Data.Text (Text)
120import Data.Text (Text)
120import qualified Data.Text as Text
121import qualified Data.Text as Text
121import Data.Time
122import Data.Time
src/Network/PagerDuty/REST/Users.hs+1
@@ -5,6 +5,7 @@
5{-# LANGUAGE TypeFamilies #-}
5{-# LANGUAGE TypeFamilies #-}
6
6
7{-# OPTIONS_GHC -fno-warn-type-defaults #-}
7{-# OPTIONS_GHC -fno-warn-type-defaults #-}
8+{-# OPTIONS_GHC -ddump-splices #-}
8
9
9-- Module : Network.PagerDuty.REST.Users
10-- Module : Network.PagerDuty.REST.Users
10-- Copyright : (c) 2013-2015 Brendan Hay <brendan.g.hay@gmail.com>
11-- Copyright : (c) 2013-2015 Brendan Hay <brendan.g.hay@gmail.com>
stack-7.10.3.yamlnew file+5
@@ -0,0 +1,5 @@
1+resolver: lts-5.2
2+flags: {}
3+extra-deps: []
4+packages:
5+ - '.'
stack-7.8.4.yamlnew file+6
@@ -0,0 +1,6 @@
1+resolver: lts-2.21
2+flags: {}
3+extra-deps:
4+ - generics-sop-0.2.0.0
5+packages:
6+ - '.'
stack.yamlmode 100644 → 120000+1−7
@@ -1,7 +0,0 @@
1−resolver: lts-19.23
2−
3−packages:
4−- .
5−
6−nix:
7− packages: [zlib]
@@ -0,0 +1 @@
1+stack-7.10.3.yaml