Method: Inspec::Runner#add_content

Defined in:
lib/inspec/runner.rb

#add_content(tests, libs, options = {}) ⇒ Object



76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
# File 'lib/inspec/runner.rb', line 76

def add_content(tests, libs, options = {})
  return if tests.nil? || tests.empty?

  # load all libraries
  ctx = create_context(options)
  libs.each do |lib|
    ctx.load(lib[:content].to_s, lib[:ref], lib[:line] || 1)
    ctx.reload_dsl
  end

  # evaluate the test content
  tests = [tests] unless tests.is_a? Array
  tests.each { |t| add_test_to_context(t, ctx) }

  # process the resulting rules
  filter_controls(ctx.rules, options[:controls]).each do |rule_id, rule|
    register_rule(rule_id, rule)
  end
end