class Analyzer
- Analyzer
- Reference
- Object
Included Modules
Direct Known Subclasses
- Analyzer::AI::Unified
- Analyzer::Clojure::Compojure
- Analyzer::Clojure::Reitit
- Analyzer::Clojure::Ring
- Analyzer::Cpp::Crow
- Analyzer::Cpp::Drogon
- Analyzer::Crystal::CrystalEngine
- Analyzer::CSharp::AspNetCoreMvc
- Analyzer::CSharp::AspNetMvc
- Analyzer::CSharp::Carter
- Analyzer::CSharp::FastEndpoints
- Analyzer::Dart::DartFrog
- Analyzer::Dart::Serverpod
- Analyzer::Dart::Shelf
- Analyzer::Elixir::ElixirEngine
- Analyzer::Fsharp::Giraffe
- Analyzer::Go::Chi
- Analyzer::Go::Fasthttp
- Analyzer::Go::GoEngine
- Analyzer::Go::Httprouter
- Analyzer::Groovy::Grails
- Analyzer::Haskell::Scotty
- Analyzer::Haskell::Servant
- Analyzer::Haskell::Yesod
- Analyzer::Java::Armeria
- Analyzer::Java::Dropwizard
- Analyzer::Java::Javalin
- Analyzer::Java::JaxRs
- Analyzer::Java::Jsp
- Analyzer::Java::Micronaut
- Analyzer::Java::Play
- Analyzer::Java::Quarkus
- Analyzer::Java::Spark
- Analyzer::Java::Spring
- Analyzer::Java::Vertx
- Analyzer::Javascript::Adonisjs
- Analyzer::Javascript::Elysia
- Analyzer::Javascript::Hapi
- Analyzer::Javascript::JavascriptEngine
- Analyzer::Kotlin::Http4k
- Analyzer::Kotlin::Ktor
- Analyzer::Kotlin::Spring
- Analyzer::Lua::Lapis
- Analyzer::Perl::PerlEngine
- Analyzer::Php::PhpEngine
- Analyzer::Python::PythonEngine
- Analyzer::Ruby::RubyEngine
- Analyzer::Rust::RustEngine
- Analyzer::Scala::Play
- Analyzer::Scala::ScalaEngine
- Analyzer::Specification::ApacheHttpd
- Analyzer::Specification::Apisix
- Analyzer::Specification::AsyncApi
- Analyzer::Specification::AwsCdk
- Analyzer::Specification::AwsCloudformation
- Analyzer::Specification::AzureFunctions
- Analyzer::Specification::Bruno
- Analyzer::Specification::Burp
- Analyzer::Specification::Caddy
- Analyzer::Specification::Caido
- Analyzer::Specification::CloudflareWrangler
- Analyzer::Specification::Envoy
- Analyzer::Specification::GraphqlSdl
- Analyzer::Specification::Grpc
- Analyzer::Specification::Har
- Analyzer::Specification::Insomnia
- Analyzer::Specification::IstioVirtualservice
- Analyzer::Specification::K8sGatewayApi
- Analyzer::Specification::K8sIngress
- Analyzer::Specification::Kong
- Analyzer::Specification::Mitmproxy
- Analyzer::Specification::Netlify
- Analyzer::Specification::Nginx
- Analyzer::Specification::Oas2
- Analyzer::Specification::Oas3
- Analyzer::Specification::OData
- Analyzer::Specification::Postman
- Analyzer::Specification::RAML
- Analyzer::Specification::ServerlessFramework
- Analyzer::Specification::Smithy
- Analyzer::Specification::Traefik
- Analyzer::Specification::TypeSpec
- Analyzer::Specification::Vercel
- Analyzer::Specification::WSDL
- Analyzer::Specification::ZapSitesTree
- Analyzer::Swift::SwiftEngine
- AnalyzerExample
- FileAnalyzer
Defined in:
models/analyzer.crConstant Summary
-
DEFAULT_CHANNEL_CAPACITY =
128 -
DEFAULT_CONTENT_CHANNEL_CAPACITY =
16 -
MAX_ANALYZER_WORKERS =
64
Constructors
Macro Summary
Instance Method Summary
- #analyze
- #base_path : String
- #base_paths : Array(String)
-
#callees_needed? : Bool
Callees feed
--include-callee(direct output) and--ai-context(aggregated review context). - #logger : NoirLogger
- #parallel_analyze(channel : Channel(String), &block : String -> Nil)
-
#read_file_content(path : String) : String
Prefer the detector-populated cache over a fresh disk read.
- #result : Array(Endpoint)
- #url : String
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
Constructor Detail
Macro Detail
Instance Method Detail
def callees_needed? : Bool
#
Callees feed --include-callee (direct output) and --ai-context
(aggregated review context). Analyzers should consult this before
running their callee extractor so the work is skipped on default
scans where neither flag is set.
Prefer the detector-populated cache over a fresh disk read. On
cache miss (budget exhausted, cache cleared between runs, path
not registered via register_file) falls back to File.read.
Analyzers migrating from direct File.read(path, ...) calls
should use this helper so the second read of files the detector
already loaded is free.