Sha256: 7582745dbedc3ddee0a9f9f4749da767b2623beac824842d08efde9f5602014e
Contents?: true
Size: 1 KB
Versions: 3
Compression:
Stored size: 1 KB
Contents
# frozen_string_literal: true class DryRunReporter attr_reader :report def initialize @report = {} end def add_to_report(*args) if args.first.is_a?(Hash) add_to_report_as_hash(args.first) else add_to_report_as_key_and_values(*args) end end def print_report if @report.to_a.map(&:second).flatten.empty? puts 'Dry run active. No data would be removed in normal run.' else puts 'Dry run active. The following data would be removed in normal run:' @report.to_a.map(&:first).each do |symbol| print_report_line(symbol) end end end private def add_to_report_as_key_and_values(key, *values) report[key] = [] if report[key].nil? report[key].concat(values) report[key].uniq! end def add_to_report_as_hash(hash) hash.each do |key, array| add_to_report_as_key_and_values(key, *array) end end def print_report_line(symbol) puts " - #{symbol}: #{@report[symbol].to_json}" if @report[symbol].any? end end
Version data entries
3 entries across 3 versions & 2 rubygems
Version | Path |
---|---|
travis-backup-for-v3-0.1.1 | lib/dry_run_reporter.rb |
travis-backup-for-v3-0.1.0 | lib/dry_run_reporter.rb |
travis-backup-0.3.0 | lib/dry_run_reporter.rb |