From 5b3a955bb8b9599ded608fc2eeaaef1c81fefc73 Mon Sep 17 00:00:00 2001 From: Sebb Date: Tue, 11 Aug 2026 23:26:39 +0100 Subject: [PATCH] No need to involve shell here --- whatif.rb | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/whatif.rb b/whatif.rb index cff11a57..a1e4244d 100755 --- a/whatif.rb +++ b/whatif.rb @@ -45,6 +45,7 @@ MEETINGS = File.expand_path('../Meetings') unless defined? MEETINGS WHATIF = './whatif.py' unless defined? WHATIF +require 'open3' require 'wunderbar' require 'tempfile' @@ -63,9 +64,7 @@ def ini(vote) end def filtered_election(votes, seats, candidates) - list = candidates.join(' ') - - output = `#{WHATIF} #{votes} #{seats} #{list}` + output, _stderr, _rc = Open3.capture3(WHATIF, votes, seats, *candidates) output.scan(/.*elected$/).inject(Hash.new('none')) do |results, line| name, status = line.scan(/^(.*?)\s+(n?o?t?\s?elected)$/).flatten results.merge({name.gsub(/[^[[:alnum:]]]/,'') => status.gsub(/\s/, '-')})