Class: Dogfood::DSL::AuditReport::JsonFormatter

Inherits:
Object
  • Object
show all
Defined in:
lib/dogfood/dsl/audit_report.rb

Overview

── JSON formatter ──

Class Method Summary collapse

Class Method Details

.render(report) ⇒ Object



762
763
764
# File 'lib/dogfood/dsl/audit_report.rb', line 762

def self.render(report)
  JSON.pretty_generate(serialize(report)) + "\n"
end

.serialize(obj) ⇒ Object



766
767
768
769
770
771
772
773
# File 'lib/dogfood/dsl/audit_report.rb', line 766

def self.serialize(obj)
  case obj
  when Symbol then { "__sym__" => obj.to_s }
  when Hash then obj.transform_keys(&:to_s).transform_values { |v| serialize(v) }
  when Array then obj.map { |v| serialize(v) }
  else obj
  end
end