diff --git a/lib/facter/nginx_version.rb b/lib/facter/nginx_version.rb new file mode 100644 index 0000000..a67e984 --- /dev/null +++ b/lib/facter/nginx_version.rb @@ -0,0 +1,8 @@ +Facter.add(:nginx_version) do + setcode do + if Facter::Core::Execution.which('nginx') + nginx_version = Facter::Core::Execution.execute('nginx -v 2>&1') + %r{^nginx version: nginx\/([\w\.]+)}.match(nginx_version)[1] + end + end +end diff --git a/spec/unit/nginx_version_spec.rb b/spec/unit/nginx_version_spec.rb new file mode 100644 index 0000000..e2429ae --- /dev/null +++ b/spec/unit/nginx_version_spec.rb @@ -0,0 +1,19 @@ +require "spec_helper" + +describe Facter::Util::Fact do + before { + Facter.clear + } + + describe "nginx_version" do + context 'with value' do + before :each do + Facter::Core::Execution.stubs(:which).with('nginx').returns(true) + Facter::Core::Execution.stubs(:execute).with('nginx -v 2>&1').returns('nginx version: nginx/1.8.1') + end + it { + expect(Facter.fact(:nginx_version).value).to eq('1.8.1') + } + end + end +end