class
Analyzer::Go::Chi
- Analyzer::Go::Chi
- Analyzer
- Reference
- Object
Defined in:
analyzer/analyzers/go/chi.crConstant Summary
-
IMPORT_MARKER =
"github.com/go-chi/chi" -
Go enforces per-file imports, so any file using chi's router types must mention the package path. Filter on this marker to avoid touching the bulk of files in projects whose detection matched on a single dummy/fixture file (the chi extractor is loose enough that another framework's verb calls would otherwise surface as chi routes).
Instance Method Summary
- #analyze
-
#analyze_router_function(file_path : String, func_name : String, package_files : Hash(String, Array(String)) | Nil = nil, file_contents_cache : Hash(String, String) | Nil = nil, file_lines_cache : Hash(String, Array(String)) | Nil = nil) : Array(Endpoint)
Extracts endpoints from a router function definition, searching across all .go files in the same directory (Go package) if not found in the given file.
- #get_param(line : String, pattern : String) : Param
Instance methods inherited from class Analyzer
analyze
analyze,
base_path : String
base_path,
base_paths : Array(String)
base_paths,
callees_needed? : Bool
callees_needed?,
logger : NoirLogger
logger,
parallel_analyze(channel : Channel(String), &block : String -> Nil)
parallel_analyze,
read_file_content(path : String) : String
read_file_content,
result : Array(Endpoint)
result,
url : String
url
Constructor methods inherited from class Analyzer
new(options : Hash(String, YAML::Any))
new
Macros inherited from class Analyzer
define_getter_methods(names)
define_getter_methods
Instance methods inherited from module FileHelper
all_files : Array(String)
all_files,
get_files_by_extension(extension : String) : Array(String)
get_files_by_extension,
get_files_by_prefix(prefix : String) : Array(String)
get_files_by_prefix,
get_files_by_prefix_and_extension(prefix : String, extension : String) : Array(String)
get_files_by_prefix_and_extension,
get_public_dir_files(base_path : String, folder : String) : Array(String)
get_public_dir_files,
get_public_files(base_path : String, anchors : Array(String) = ["shard.yml", "Gemfile"]) : Array(String)
get_public_files,
populate_channel_with_files(channel : Channel(String))
populate_channel_with_files,
populate_channel_with_filtered_files(channel : Channel(String), extension : String)populate_channel_with_filtered_files(channel : Channel(String), extensions : Array(String)) populate_channel_with_filtered_files
Instance Method Detail
Extracts endpoints from a router function definition, searching across all .go files in the same directory (Go package) if not found in the given file.
Uses the tree-sitter walker too, but scoped down to just the target function's declaration so the returned routes are relative to the function body — caller slaps on the Mount prefix.