From b59b99fc412f385b1b14cfb58287ea1e6b0bff4c Mon Sep 17 00:00:00 2001 From: Markus Benning Date: Mon, 6 Nov 2017 08:31:30 +0100 Subject: [PATCH 1/2] Fix be_installed matcher when used with expect When used like expect(package('httpd')).to be_installed it causes an error that subject is not defined undefined local variable or method `subject' for # (NameError) It should be changed to use the passed #match parameter 'name' instead of 'subject'. --- lib/serverspec/matcher/be_installed.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/serverspec/matcher/be_installed.rb b/lib/serverspec/matcher/be_installed.rb index 5d815208..38abda08 100644 --- a/lib/serverspec/matcher/be_installed.rb +++ b/lib/serverspec/matcher/be_installed.rb @@ -1,6 +1,6 @@ RSpec::Matchers.define :be_installed do match do |name| - if subject.class.name == 'Serverspec::Type::SelinuxModule' + if name.class.name == 'Serverspec::Type::SelinuxModule' name.installed?(@version) else name.installed?(@provider, @version) From bb4183f7486f6efade55b4364312a6c364b8f560 Mon Sep 17 00:00:00 2001 From: Markus Benning Date: Tue, 7 Nov 2017 12:26:12 +0100 Subject: [PATCH 2/2] Rename parameter name -> subject As discussed in #598 we change the parameter name from match do |name| to match do |subject| --- lib/serverspec/matcher/be_installed.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/serverspec/matcher/be_installed.rb b/lib/serverspec/matcher/be_installed.rb index 38abda08..238786df 100644 --- a/lib/serverspec/matcher/be_installed.rb +++ b/lib/serverspec/matcher/be_installed.rb @@ -1,9 +1,9 @@ RSpec::Matchers.define :be_installed do - match do |name| - if name.class.name == 'Serverspec::Type::SelinuxModule' - name.installed?(@version) + match do |subject| + if subject.class.name == 'Serverspec::Type::SelinuxModule' + subject.installed?(@version) else - name.installed?(@provider, @version) + subject.installed?(@provider, @version) end end