Class: Inspec::Control
- Inherits:
- 
      Object
      
        - Object
- Inspec::Control
 
- Defined in:
- lib/inspec/objects/control.rb
Instance Attribute Summary collapse
- 
  
    
      #descriptions  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Returns the value of attribute descriptions. 
- 
  
    
      #id  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Returns the value of attribute id. 
- 
  
    
      #impact  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Returns the value of attribute impact. 
- 
  
    
      #only_if  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Returns the value of attribute only_if. 
- 
  
    
      #refs  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Returns the value of attribute refs. 
- 
  
    
      #tags  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Returns the value of attribute tags. 
- 
  
    
      #tests  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Returns the value of attribute tests. 
- 
  
    
      #title  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Returns the value of attribute title. 
Instance Method Summary collapse
- #add_tag(t) ⇒ Object
- #add_test(t) ⇒ Object
- 
  
    
      #initialize  ⇒ Control 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    A new instance of Control. 
- #to_hash ⇒ Object
- 
  
    
      #to_ruby  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    rubocop:disable Metrics/AbcSize. 
Constructor Details
#initialize ⇒ Control
Returns a new instance of Control.
| 6 7 8 9 10 11 | # File 'lib/inspec/objects/control.rb', line 6 def initialize @tests = [] @tags = [] @refs = [] @descriptions = {} end | 
Instance Attribute Details
#descriptions ⇒ Object
Returns the value of attribute descriptions.
| 5 6 7 | # File 'lib/inspec/objects/control.rb', line 5 def descriptions @descriptions end | 
#id ⇒ Object
Returns the value of attribute id.
| 5 6 7 | # File 'lib/inspec/objects/control.rb', line 5 def id @id end | 
#impact ⇒ Object
Returns the value of attribute impact.
| 5 6 7 | # File 'lib/inspec/objects/control.rb', line 5 def impact @impact end | 
#only_if ⇒ Object
Returns the value of attribute only_if.
| 5 6 7 | # File 'lib/inspec/objects/control.rb', line 5 def only_if @only_if end | 
#refs ⇒ Object
Returns the value of attribute refs.
| 5 6 7 | # File 'lib/inspec/objects/control.rb', line 5 def refs @refs end | 
#tags ⇒ Object
Returns the value of attribute tags.
| 5 6 7 | # File 'lib/inspec/objects/control.rb', line 5 def @tags end | 
#tests ⇒ Object
Returns the value of attribute tests.
| 5 6 7 | # File 'lib/inspec/objects/control.rb', line 5 def tests @tests end | 
#title ⇒ Object
Returns the value of attribute title.
| 5 6 7 | # File 'lib/inspec/objects/control.rb', line 5 def title @title end | 
Instance Method Details
#add_tag(t) ⇒ Object
| 17 18 19 | # File 'lib/inspec/objects/control.rb', line 17 def add_tag(t) @tags.push(t) end | 
#add_test(t) ⇒ Object
| 13 14 15 | # File 'lib/inspec/objects/control.rb', line 13 def add_test(t) @tests.push(t) end | 
#to_hash ⇒ Object
| 21 22 23 24 25 26 27 28 29 30 | # File 'lib/inspec/objects/control.rb', line 21 def to_hash { id: id, title: title, descriptions: descriptions, impact: impact, tests: tests.map(&:to_hash), tags: .map(&:to_hash), } end | 
#to_ruby ⇒ Object
rubocop:disable Metrics/AbcSize
| 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | # File 'lib/inspec/objects/control.rb', line 32 def to_ruby # rubocop:disable Metrics/AbcSize res = ["control #{id.inspect} do"] res.push " title #{title.inspect}" unless title.to_s.empty? descriptions.each do |label, text| if label == :default next if text.nil? or text == '' # don't render empty/nil desc res.push " desc #{prettyprint_text(text, 2)}" else res.push " desc #{label.to_s.inspect}, #{prettyprint_text(text, 2)}" end end res.push " impact #{impact}" unless impact.nil? .each { |t| res.push(indent(t.to_ruby, 2)) } refs.each { |t| res.push(" ref #{print_ref(t)}") } res.push " only_if { #{only_if} }" if only_if tests.each { |t| res.push(indent(t.to_ruby, 2)) } res.push 'end' res.join("\n") end |