From 04c973a4ef966e4f3da8d8bda8b3eb489cd4fbf8 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 24 Mar 2016 16:55:31 -0400 Subject: refactor --- src/Propellor/Info.hs | 4 ++-- src/Propellor/Types/Info.hs | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'src/Propellor') 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)) -- cgit v1.2.3