class Inspec::OrTest

Attributes

tests[R]

Public Class Methods

new(tests) click to toggle source
# File lib/inspec/objects/or_test.rb, line 9
def initialize(tests)
  @tests = tests
  @negated = false

  Inspec.deprecate(:object_classes, "The Inspec::OrTest class is deprecated. Use the Inspec::Object::OrTest class from the inspec-objects Ruby library.")
end

Public Instance Methods

negate!() click to toggle source
# File lib/inspec/objects/or_test.rb, line 20
def negate!
  @negated = !@negated
end
skip() click to toggle source
# File lib/inspec/objects/or_test.rb, line 16
def skip
  nil
end
to_hash() click to toggle source
# File lib/inspec/objects/or_test.rb, line 41
def to_hash
  { describe_one: @tests.map(&:to_hash) }
end
to_ruby() click to toggle source
# File lib/inspec/objects/or_test.rb, line 24
def to_ruby
  if @negated
    # We don't use the describe.one wrapper when negated because:
    # !(test1 || test2)     same as    (!test1 && !test2)    where && is implicit in inspec
    all_tests = @tests.map do |test|
      test.negate!
      test
    end.map(&:to_ruby).join("\n")

    all_tests
  else
    all_tests = @tests.map(&:to_ruby).join("\n").gsub("\n", "\n  ")

    format("describe.one do\n  %s\nend", all_tests)
  end
end