Class: Scanny::Checks::Check

Inherits:
Object
  • Object
show all
Defined in:
lib/scanny/checks/check.rb

Instance Method Summary collapse

Instance Method Details

#compiled_patternObject



28
29
30
# File 'lib/scanny/checks/check.rb', line 28

def compiled_pattern
  @compiled_pattern ||= Machete::Parser.new.parse(pattern)
end

#issue(impact, message, options = {}) ⇒ Object



20
21
22
# File 'lib/scanny/checks/check.rb', line 20

def issue(impact, message, options = {})
  @issues << Issue.new(@file, @line, impact, message, options[:cwe])
end

#patternString

Returns pattern used to find relevant nodes. It must respect Machete’s syntax.

Returns:

  • (String)

    pattern used to find relevant nodes. It must respect Machete’s syntax.



15
16
17
18
# File 'lib/scanny/checks/check.rb', line 15

def pattern
  raise "The Check class requires its childrens to provide an "\
        "implementation of the 'pattern' method."
end

#strict?Boolean

Returns:

  • (Boolean)


24
25
26
# File 'lib/scanny/checks/check.rb', line 24

def strict?
  false
end

#visit(file, node) ⇒ Object



4
5
6
7
8
9
10
11
12
# File 'lib/scanny/checks/check.rb', line 4

def visit(file, node)
  @file = file
  @line = node.line
  @issues = []

  check(node)

  @issues
end