class Pedant::CheckScriptDoesNotUseAuditDotInc
Public Class Methods
requires()
click to toggle source
Calls superclass method
Pedant::Check::requires
# File lib/pedant/checks/script_missing_audit_inc.rb, line 29 def self.requires super + [:main, :trees, :codes] end
Public Instance Methods
run()
click to toggle source
# File lib/pedant/checks/script_missing_audit_inc.rb, line 33 def run args = [] tree = @kb[:trees][@kb[:main]] tree.all(:Include).each do |node| next unless node.filename.text == 'audit.inc' report(:info, "#{node.filename.text}") args << node end # each audit_calls = [] tree.all(:Call).each do |node| next unless node.name.ident.name == "audit" next if node.args.empty? audit_calls << node end if args.length == 0 report(:warn, "Plugin does not include audit.inc. Should it?") return warn elsif args.length == 1 if audit_calls.length == 0 report(:warn, "Plugin includes audit.inc but does not make a direct audit call") return warn end pass elsif args.length > 1 report(:error, "Plugin specifies multiple audit.inc:") args.each { |call| report(:error, call.context()) } return fail end end