Method: InspecRspecCli::Control#title

Defined in:
lib/inspec/rspec_json_formatter.rb

#titleObject

Determine title for control given current_control. Called from current_control_summary.



647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
# File 'lib/inspec/rspec_json_formatter.rb', line 647

def title
  title = control[:title]
  if title
    title
  elsif examples.length == 1
    # If it's an anonymous control, just go with the only description
    # available for the underlying test.
    examples[0][:code_desc].to_s
  elsif examples.empty?
    # Empty control block - if it's anonymous, there's nothing we can do.
    # Is this case even possible?
    'Empty anonymous control'
  else
    # Multiple tests - but no title. Do our best and generate some form of
    # identifier or label or name.
    title = (examples.map { |example| example[:code_desc] }).join('; ')
    max_len = MULTI_TEST_CONTROL_SUMMARY_MAX_LEN
    title = title[0..(max_len-1)] + '...' if title.length > max_len
    title
  end
end