Method: Inspec::Plugin::V2::ConfigFile#add_entry

Defined in:
lib/inspec/plugin/v2/config_file.rb

#add_entry(proposed_entry) ⇒ Object

Add an entry with full validation.



41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/inspec/plugin/v2/config_file.rb', line 41

def add_entry(proposed_entry)
  unless proposed_entry.keys.all? { |field| field.is_a? Symbol }
    raise Inspec::Plugin::V2::ConfigError, 'All keys to ConfigFile#add_entry must be symbols'
  end

  validate_entry(proposed_entry)

  if existing_entry?(proposed_entry[:name])
    raise Inspec::Plugin::V2::ConfigError, "Duplicate plugin name in call to ConfigFile#add_entry: '#{proposed_entry[:name]}'"
  end

  @data[:plugins] << proposed_entry
end