… and also use it to simplify 'needsLiveData'. Additionally, add an
explicit export list to Ganeti.Query.Types, since otherwise we'd
(re)export all imported symbols.
---
 htools/Ganeti/Query/Query.hs |    4 +---
 htools/Ganeti/Query/Types.hs |   13 ++++++++++++-
 2 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/htools/Ganeti/Query/Query.hs b/htools/Ganeti/Query/Query.hs
index 9dfcfa4..9edbb4d 100644
--- a/htools/Ganeti/Query/Query.hs
+++ b/htools/Ganeti/Query/Query.hs
@@ -116,9 +116,7 @@ maybeCollectLiveData True cfg nodes = do
 
 -- | Check whether list of queried fields contains live fields.
 needsLiveData :: [FieldGetter a b] -> Bool
-needsLiveData = any (\getter -> case getter of
-                     FieldRuntime _ -> True
-                     _ -> False)
+needsLiveData = any isRuntimeField
 
 -- | Checks whether we have requested exactly some names. This is a
 -- simple wrapper over 'requestedNames' and 'nameField'.
diff --git a/htools/Ganeti/Query/Types.hs b/htools/Ganeti/Query/Types.hs
index 175dfa5..42300b2 100644
--- a/htools/Ganeti/Query/Types.hs
+++ b/htools/Ganeti/Query/Types.hs
@@ -26,7 +26,13 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
 
 -}
 
-module Ganeti.Query.Types where
+module Ganeti.Query.Types
+  ( FieldGetter(..)
+  , FieldData
+  , FieldList
+  , FieldMap
+  , isRuntimeField
+  ) where
 
 import qualified Data.Map as Map
 
@@ -52,3 +58,8 @@ type FieldList a b = [FieldData a b]
 
 -- | Alias for field maps.
 type FieldMap a b = Map.Map String (FieldData a b)
+
+-- | Helper function to check if a getter is a runtime one.
+isRuntimeField :: FieldGetter a b -> Bool
+isRuntimeField (FieldRuntime _) = True
+isRuntimeField _                = False
-- 
1.7.10.4

Reply via email to