lib/utilities/parser.rb in inspec_tools-2.3.5 vs lib/utilities/parser.rb in inspec_tools-2.3.6
- old
+ new
@@ -2,11 +2,10 @@
require 'parslet'
require 'parslet/convenience'
require 'pp'
-# rubocop:disable Metrics/ClassLength
module Util
class ControlParser < Parslet::Parser
root :controls
rule :controls do
@@ -343,12 +342,12 @@
attr_reader :transformed_data
def parse(clean_text)
@parser.parse(clean_text)
- rescue Parslet::ParseFailed => error
- puts error.parse_failure_cause.ascii_tree
+ rescue Parslet::ParseFailed => e
+ puts e.parse_failure_cause.ascii_tree
end
def convert_str(value)
value.to_s
end
@@ -357,16 +356,16 @@
@transformed_data&.map do |ctrl|
if !ctrl[:cis] && ctrl[:ref]
references = ctrl[:ref].split("\n")
references.each do |ref|
match = ref.scan(/(?<=#)\d+\.\d+/).map(&:inspect).join(',').delete('"').tr(',', ' ')
- ctrl[:cis] = match.split(' ') unless match.empty?
+ ctrl[:cis] = match.split unless match.empty?
end
ctrl[:cis] = 'No CIS Control' unless ctrl[:cis]
elsif !ctrl[:cis] && !ctrl[:ref]
ctrl[:cis] = 'No CIS Control'
elsif ctrl[:cis] && ctrl[:ref]
- ctrl[:cis] = ctrl[:cis].scan(/^\d+[\.\d+]*/)
+ ctrl[:cis] = ctrl[:cis].scan(/^\d+[.\d+]*/)
end
end
end
end
end