From 70f4c3360484cbc66cd1f3623b7d3d9418c83a31 Mon Sep 17 00:00:00 2001 From: Ewoud Kohl van Wijngaarden Date: Fri, 21 Jul 2023 12:16:14 +0200 Subject: [PATCH] Use FacterDB.filter_results --- Gemfile | 2 ++ lib/rspec-puppet-facts.rb | 3 +-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Gemfile b/Gemfile index f494abb..6701f38 100644 --- a/Gemfile +++ b/Gemfile @@ -13,3 +13,5 @@ group :coverage, optional: ENV['COVERAGE'] != 'yes' do gem 'codecov', require: false gem 'simplecov-console', require: false end + +gem 'facterdb', github: 'ekohl/facterdb', branch: 'filter-results' diff --git a/lib/rspec-puppet-facts.rb b/lib/rspec-puppet-facts.rb index 07474dc..55a33b1 100644 --- a/lib/rspec-puppet-facts.rb +++ b/lib/rspec-puppet-facts.rb @@ -122,9 +122,8 @@ def on_supported_os_implementation(opts = {}) # FacterDB may have newer versions of facter data for which it contains a subset of all possible # facter data (see FacterDB 0.5.2 for Facter releases 3.8 and 3.9). In this situation we need to # cycle through and downgrade Facter versions per platform type until we find matching Facter data. - json_db = db.to_json filter.each do |filter_spec| - versions = JGrep.jgrep(json_db, FacterDB.generate_filter_str(filter_spec)).to_h do |facts| + versions = FacterDB.filter_results(db, filter_spec).to_h do |facts| result = RSpec.configuration.facterdb_string_keys ? facts : facts.transform_keys(&:to_sym) [Gem::Version.new(facts['facterversion']), result] end