class Inspec::Describe

def add_test(its, matcher, expectation)

def add_test(its, matcher, expectation)
  test = Inspec::Describe::Test.new(its, matcher, expectation, false)
  tests.push(test)
  test
end

def initialize

def initialize
  @qualifier = []
  @tests = []
  @variables = []
end

def rb_describe

def rb_describe
  vars = variables.map(&:to_ruby).join("\n")
  vars += "\n" unless vars.empty?
  objarr = @qualifier
  objarr = [['unknown object'.inspect]] if objarr.nil? || objarr.empty?
  obj = objarr.map { |q| ruby_qualifier(q) }.join('.')
  rbtests = tests.map(&:to_ruby).join("\n  ")
  format("%sdescribe %s do\n  %s\nend", vars, obj, rbtests)
end

def rb_skip

def rb_skip
  obj = @qualifier || skip.inspect
  format("describe %s do\n  skip %s\nend", obj, skip.inspect)
end

def resource

def resource
  return nil if qualifier.empty? || qualifier[0].empty? || qualifier[0][0].empty?
  qualifier[0][0]
end

def to_hash

def to_hash
  { qualifier: qualifier, tests: tests.map(&:to_h), variables: variables, skip: skip }
end

def to_ruby

def to_ruby
  return rb_skip if !skip.nil?
  rb_describe
end