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
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.