class

Analyzer::Elixir::ElixirEngine

Inherits FileScanEngine < Analyzer < FileHelper < Reference < Object

Constants

DEFMODULE_RE = /\bdefmodule\s+([A-Z]\w*(?:\.[A-Z]\w*)*)\s+do\b/
PLUG_ROUTER_USE_RE = /^\s*use\s+Plug\.Router\b/m

Class methods

test_path?(relative_path : String) : Bool

ExUnit's conventions are rigid: every test module sits in a file named *_test.exs, and Mix keeps the rest of the test tree under test/ — including test/support/** and fixture schemas, which elixirc_paths(:test) compiles only for MIX_ENV=test (stub routers, Plug mocks, Absinthe fixture schemas). Production code never lives there, so the check is safe for every Elixir analyzer (Phoenix/Plug/Bandit/Absinthe/Channel). Takes the scan-base-relative path so a checkout under a test/ ancestor is not wiped.

Source