summaryrefslogtreecommitdiff
path: root/lib/facter/pip_version.rb
diff options
context:
space:
mode:
authorSteve Huff <shuff@vecna.org>2014-02-26 12:04:54 -0500
committerSteve Huff <shuff@vecna.org>2014-02-26 12:04:54 -0500
commitcc60884faa51751a7c2f07d94bec192fb57b76b3 (patch)
tree40d58ec536294665851d6068e7b34c2259f965c9 /lib/facter/pip_version.rb
parent2bb37cdbc62868f11de93c93853eea03bda513fd (diff)
prevent Facter error when packages not installed
on RHEL systems, `pkg.retrieve[pkg.property(:ensure)]` returns `:absent` when a package is not installed; this can generate an unsightly error when running these facts on a RHEL system where the necessary OS packages are not installed: [root@gepeto ~]# facter -p osfamily RedHat [root@gepeto ~]# facter -p lsbmajdistrelease 5 [root@gepeto ~]# grep version /etc/puppet/modules/python/Modulefile version '1.6.3' [root@gepeto ~]# facter -p virtualenv_version pip_version Could not retrieve virtualenv_version: can't convert Symbol into String Could not retrieve pip_version: undefined method `[]' for nil:NilClass Could not retrieve pip_version: can't convert Symbol into String pip_version => virtualenv_version => Fixes #50
Diffstat (limited to 'lib/facter/pip_version.rb')
-rw-r--r--lib/facter/pip_version.rb2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/facter/pip_version.rb b/lib/facter/pip_version.rb
index bc725db..46c50d9 100644
--- a/lib/facter/pip_version.rb
+++ b/lib/facter/pip_version.rb
@@ -12,7 +12,7 @@ end
Facter.add("pip_version") do
has_weight 50
setcode do
- if pkg.retrieve[pkg.property(:ensure)] != 'purged'
+ unless [:absent,'purged'].include?(pkg.retrieve[pkg.property(:ensure)])
/^.*(\d+\.\d+\.\d+).*$/.match(pkg.retrieve[pkg.property(:ensure)])[1]
end
end