Method: Inspec::Runner#initialize
- Defined in:
- lib/inspec/runner.rb
#initialize(conf = {}) ⇒ Runner
Returns a new instance of Runner.
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
# File 'lib/inspec/runner.rb', line 42 def initialize(conf = {}) @rules = [] # If we were handed a Hash config (by audit cookbook or kitchen-inspec), # upgrade it to a proper config. This handles a lot of config finalization, # like reporter parsing. @conf = conf.is_a?(Hash) ? Inspec::Config.new(conf) : conf @conf[:logger] ||= Logger.new(nil) @target_profiles = [] @controls = @conf[:controls] || [] @depends = @conf[:depends] || [] @create_lockfile = @conf[:create_lockfile] @cache = Inspec::Cache.new(@conf[:vendor_cache]) @test_collector = @conf.delete(:test_collector) || begin RunnerRspec.new(@conf) end if @conf[:waiver_file] waivers = @conf.delete(:waiver_file) @conf[:input_file] ||= [] @conf[:input_file].concat waivers end # About reading inputs: # @conf gets passed around a lot, eventually to # Inspec::InputRegistry.register_external_inputs. # # @conf may contain the key :attributes or :inputs, which is to be a Hash # of values passed in from the Runner API. # This is how kitchen-inspec and the audit_cookbook pass in inputs. # # @conf may contain the key :attrs or :input_file, which is to be an Array # of file paths, each a YAML file. This how --input-file works. configure_transport end |