Class: InspecRspecJson
- Inherits:
-
InspecRspecMiniJson
- Object
- RSpec::Core::Formatters::JsonFormatter
- InspecRspecMiniJson
- InspecRspecJson
- Defined in:
- lib/inspec/rspec_json_formatter.rb
Instance Method Summary collapse
- #add_profile(profile) ⇒ Object
- #dump_one_example(example, profiles, missing) ⇒ Object
- #dump_summary(summary) ⇒ Object
- #profile_info(profile) ⇒ Object
Methods inherited from InspecRspecMiniJson
Instance Method Details
#add_profile(profile) ⇒ Object
77 78 79 80 |
# File 'lib/inspec/rspec_json_formatter.rb', line 77 def add_profile(profile) @profiles ||= [] @profiles.push(profile) end |
#dump_one_example(example, profiles, missing) ⇒ Object
82 83 84 85 86 87 88 89 90 91 92 93 |
# File 'lib/inspec/rspec_json_formatter.rb', line 82 def dump_one_example(example, profiles, missing) profile = profiles[example[:profile_id]] return missing.push(example) if profile.nil? || profile[:controls].nil? control = profile[:controls][example[:id]] return missing.push(example) if control.nil? control[:results] ||= [] example.delete(:id) example.delete(:profile_id) control[:results].push(example) end |
#dump_summary(summary) ⇒ Object
100 101 102 103 104 105 106 107 108 109 110 111 112 113 |
# File 'lib/inspec/rspec_json_formatter.rb', line 100 def dump_summary(summary) super(summary) @profiles ||= [] examples = @output_hash.delete(:controls) profiles = Hash[@profiles.map { |x| profile_info(x) }] missing = [] examples.each do |example| dump_one_example(example, profiles, missing) end @output_hash[:profiles] = profiles @output_hash[:other_checks] = missing end |
#profile_info(profile) ⇒ Object
95 96 97 98 |
# File 'lib/inspec/rspec_json_formatter.rb', line 95 def profile_info(profile) info = profile.info.dup [info[:name], info] end |