From a2e1f94c4d32fdec4ea211525dfcdc9ad20ba34c Mon Sep 17 00:00:00 2001
From: Jonathan Gazeley <jonathan.gazeley@bristol.ac.uk>
Date: Mon, 1 Feb 2016 12:50:39 +0000
Subject: [PATCH] Combine two facts into one, to share the same exec

---
 lib/facter/freeradius_maj_version.rb | 13 -------------
 lib/facter/freeradius_version.rb     | 21 +++++++++++++++------
 2 files changed, 15 insertions(+), 19 deletions(-)
 delete mode 100644 lib/facter/freeradius_maj_version.rb

diff --git a/lib/facter/freeradius_maj_version.rb b/lib/facter/freeradius_maj_version.rb
deleted file mode 100644
index 758a4ec..0000000
--- a/lib/facter/freeradius_maj_version.rb
+++ /dev/null
@@ -1,13 +0,0 @@
-# Grab the FreeRADIUS version from the output of radiusd -v
-Facter.add(:freeradius_maj_version) do
-  setcode do
-    version = Facter::Core::Execution.exec('radiusd -v')
-    if version.nil?
-      version = Facter::Core::Execution.exec('freeradius -v')
-    end
-    if !version.nil?
-      version = version.split(/\n/)[0].match(/FreeRADIUS Version (\d)\.\d\.\d/)[1].to_s
-    end
-    version
-  end
-end
diff --git a/lib/facter/freeradius_version.rb b/lib/facter/freeradius_version.rb
index 2473a85..ac393ce 100644
--- a/lib/facter/freeradius_version.rb
+++ b/lib/facter/freeradius_version.rb
@@ -1,14 +1,23 @@
 # Grab the FreeRADIUS version from the output of radiusd -v
+version = Facter::Core::Execution.exec('radiusd -v')
+if version.nil?
+  version = Facter::Core::Execution.exec('freeradius -v')
+end
+
 Facter.add(:freeradius_version) do
   setcode do
-    version = Facter::Core::Execution.exec('radiusd -v')
-    if version.nil?
-      version = Facter::Core::Execution.exec('freeradius -v')
-    end
     if !version.nil?
-      version = version.split(/\n/)[0].match(/FreeRADIUS Version (\d\.\d\.\d)/)[1].to_s
+      minver = version.split(/\n/)[0].match(/FreeRADIUS Version (\d\.\d\.\d)/)[1].to_s
     end
-    version
+    minver
   end
 end
 
+Facter.add(:freeradius_maj_version) do
+  setcode do
+    if !version.nil?
+      majver = version.split(/\n/)[0].match(/FreeRADIUS Version (\d)\.\d\.\d/)[1].to_s
+    end
+    majver
+  end
+end
-- 
GitLab