Class: Inspec::Describe::Test

Inherits:
Struct
  • Object
show all
Defined in:
lib/inspec/objects/describe.rb

Overview

Internal helper to structure test objects. Should not be exposed to the user as it is hidden behind ‘add_test`, `to_hash`, and `to_ruby` in Inspec::Describe

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Struct

#to_h

Instance Attribute Details

#expectationObject

Returns the value of attribute expectation

Returns:

  • (Object)

    the current value of expectation



8
9
10
# File 'lib/inspec/objects/describe.rb', line 8

def expectation
  @expectation
end

#itsObject

Returns the value of attribute its

Returns:

  • (Object)

    the current value of its



8
9
10
# File 'lib/inspec/objects/describe.rb', line 8

def its
  @its
end

#matcherObject

Returns the value of attribute matcher

Returns:

  • (Object)

    the current value of matcher



8
9
10
# File 'lib/inspec/objects/describe.rb', line 8

def matcher
  @matcher
end

#negatedObject

Returns the value of attribute negated

Returns:

  • (Object)

    the current value of negated



8
9
10
# File 'lib/inspec/objects/describe.rb', line 8

def negated
  @negated
end

Instance Method Details

#negate!Object



9
10
11
# File 'lib/inspec/objects/describe.rb', line 9

def negate!
  self.negated = !negated
end

#to_rubyObject



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/inspec/objects/describe.rb', line 13

def to_ruby
  itsy = 'it'
  unless its.nil?
    if its.is_a? Array
      itsy = 'its(' + its.inspect + ')'
    else
      itsy = 'its(' + its.to_s.inspect + ')'
    end
  end
  naughty = negated ? '_not' : ''
  xpect = if expectation.nil?
            ''
          elsif expectation.class == Regexp
            # without this, xpect values like / \/zones\// will not be parsed properly
            "(#{expectation.inspect})"
          else
            ' ' + expectation.inspect
          end
  format('%s { should%s %s%s }', itsy, naughty, matcher, xpect)
end