module AwsCftTools::Runbooks::Diff::Context::Reporting
Public Instance Methods
output_report_on_differences(diffs)
click to toggle source
# File lib/aws_cft_tools/runbooks/diff/context/reporting.rb, line 24 def output_report_on_differences(diffs) report_on_blank_diffs(diffs) report_on_real_diffs(diffs) end
output_report_on_missing_stacks(missing)
click to toggle source
# File lib/aws_cft_tools/runbooks/diff/context/reporting.rb, line 18 def output_report_on_missing_stacks(missing) missing = template_filenames(missing) return if missing.empty? puts "\nUndeployed templates:\n #{missing.sort.join("\n ")}\n" end
output_report_on_missing_templates(missing)
click to toggle source
# File lib/aws_cft_tools/runbooks/diff/context/reporting.rb, line 13 def output_report_on_missing_templates(missing) return if missing.empty? puts "\nStacks with no template:\n #{missing.sort.join("\n ")}\n" end
Private Instance Methods
diff_with_filenames(diff, filename)
click to toggle source
# File lib/aws_cft_tools/runbooks/diff/context/reporting.rb, line 75 def diff_with_filenames(diff, filename) diff.sub(%r{--- /.*$}, "--- #{filename} @ AWS") .sub(%r{\+\+\+ /.*$}, "+++ #{filename} @ Local") end
report_full_diffs(names, diffs)
click to toggle source
# File lib/aws_cft_tools/runbooks/diff/context/reporting.rb, line 50 def report_full_diffs(names, diffs) names.sort.each do |name| report_pos_diff(templates[name].filename.to_s, diffs[name]) end end
report_list_of_diffs(real_diffs)
click to toggle source
# File lib/aws_cft_tools/runbooks/diff/context/reporting.rb, line 56 def report_list_of_diffs(real_diffs) puts "\nTemplates with changes:\n #{template_filenames(real_diffs).sort.join("\n ")}\n" end
report_on_blank_diffs(diffs)
click to toggle source
# File lib/aws_cft_tools/runbooks/diff/context/reporting.rb, line 31 def report_on_blank_diffs(diffs) no_diffs = diffs.keys.select { |name| diffs[name].match(/\A\s*\Z/) } return if no_diffs.empty? puts "\nTemplates with no changes:\n #{template_filenames(no_diffs).sort.join("\n ")}\n" end
report_on_real_diffs(diffs)
click to toggle source
# File lib/aws_cft_tools/runbooks/diff/context/reporting.rb, line 38 def report_on_real_diffs(diffs) real_diffs = diffs.keys.reject { |name| diffs[name].match(/\A\s*\Z/) } return if real_diffs.empty? if options[:verbose] report_full_diffs(real_diffs, diffs) else report_list_of_diffs(real_diffs) end end
report_pos_diff(filename, diff)
click to toggle source
# File lib/aws_cft_tools/runbooks/diff/context/reporting.rb, line 70 def report_pos_diff(filename, diff) return unless template_in_consideration(options[:templates], filename) puts diff_with_filenames(diff, filename), '' end
template_filenames(stack_names)
click to toggle source
# File lib/aws_cft_tools/runbooks/diff/context/reporting.rb, line 60 def template_filenames(stack_names) set = templates.values_at(*stack_names).map(&:filename).map(&:to_s) allowed = options[:templates] if allowed && allowed.any? set & allowed else set end end
template_in_consideration(list, filename)
click to toggle source
# File lib/aws_cft_tools/runbooks/diff/context/reporting.rb, line 80 def template_in_consideration(list, filename) !list || list.empty? || list.include?(filename) end