diff options
| author | Joey Hess <joeyh@joeyh.name> | 2016-03-24 16:55:31 -0400 |
|---|---|---|
| committer | Joey Hess <joeyh@joeyh.name> | 2016-03-24 16:55:31 -0400 |
| commit | 04c973a4ef966e4f3da8d8bda8b3eb489cd4fbf8 (patch) | |
| tree | ca04608becfa2e7ca92c86f25e19edf7fda94444 | |
| parent | f5e7596cb9183158644fdd2df9996871dc0a8efa (diff) | |
refactor
| -rw-r--r-- | src/Propellor/Info.hs | 4 | ||||
| -rw-r--r-- | src/Propellor/Types/Info.hs | 4 |
2 files changed, 6 insertions, 2 deletions
diff --git a/src/Propellor/Info.hs b/src/Propellor/Info.hs index 4827ba8a..071bf4c2 100644 --- a/src/Propellor/Info.hs +++ b/src/Propellor/Info.hs @@ -14,13 +14,13 @@ import Control.Applicative import Prelude pureInfoProperty :: (IsInfo v) => Desc -> v -> Property (HasInfo + UnixLike) -pureInfoProperty desc v = pureInfoProperty' desc (addInfo mempty v) +pureInfoProperty desc v = pureInfoProperty' desc (toInfo v) pureInfoProperty' :: Desc -> Info -> Property (HasInfo + UnixLike) pureInfoProperty' desc i = addInfoProperty p i where p :: Property UnixLike - p = mkProperty ("has " ++ desc) (return NoChange) + p = property ("has " ++ desc) (return NoChange) -- | Gets a value from the host's Info. askInfo :: (IsInfo v) => Propellor v diff --git a/src/Propellor/Types/Info.hs b/src/Propellor/Types/Info.hs index 53fa9e77..bc1543e2 100644 --- a/src/Propellor/Types/Info.hs +++ b/src/Propellor/Types/Info.hs @@ -4,6 +4,7 @@ module Propellor.Types.Info ( Info, IsInfo(..), addInfo, + toInfo, getInfo, mapInfo, propagatableInfo, @@ -46,6 +47,9 @@ class (Typeable v, Monoid v, Show v) => IsInfo v where addInfo :: IsInfo v => Info -> v -> Info addInfo (Info l) v = Info (InfoEntry v:l) +toInfo :: IsInfo v => v -> Info +toInfo = addInfo mempty + -- The list is reversed here because addInfo builds it up in reverse order. getInfo :: IsInfo v => Info -> v getInfo (Info l) = mconcat (mapMaybe extractInfoEntry (reverse l)) |
