class
Analyzer::Perl::Catalyst
- Analyzer::Perl::Catalyst
- Analyzer::Perl::PerlEngine
- Analyzer
- Reference
- Object
Defined in:
analyzer/analyzers/perl/catalyst.crConstant Summary
-
BARE_ATTR_VALUE =
"__NOIR_BARE_ATTR__" -
CONFIG_VALUE_PATTERNS =
{"namespace" => [/namespace\s*=>\s*q\{([^}]*)\}/, /namespace\s*=>\s*q\(([^)]*)\)/, /namespace\s*=>\s*q\/([^\/]*)\//, /namespace\s*=>\s*'([^']*)'/, /namespace\s*=>\s*"([^"]*)"/], "path" => [/path\s*=>\s*q\{([^}]*)\}/, /path\s*=>\s*q\(([^)]*)\)/, /path\s*=>\s*q\/([^\/]*)\//, /path\s*=>\s*'([^']*)'/, /path\s*=>\s*"([^"]*)"/]} -
Crystal recompiles an interpolated regex literal on every evaluation (a full PCRE2 JIT compile).
config_valueis only ever called with key "namespace" or "path" (seecollect_controller_configs, which itself runs once per file from#analyze/#analyze_contentand again fromcollect_actions), so precompile both key's pattern sets once at load time instead of rebuilding+recompiling five regexes per call. -
HTTP_METHOD_ATTRS =
{"get" => "GET", "post" => "POST", "put" => "PUT", "delete" => "DELETE", "patch" => "PATCH", "option" => "OPTIONS", "options" => "OPTIONS", "head" => "HEAD"} -
HTTP_VERBS =
["get", "post", "put", "delete", "patch", "options", "head"] of ::String
Instance Method Summary
- #analyze
- #analyze_content(content : String, file_path : String) : Array(Endpoint)
- #analyze_file(path : String) : Array(Endpoint)