class Detector::Specification::AwsCdk

Defined in:

detector/detectors/specification/aws_cdk.cr

Constant Summary

API_CONSTRUCT = Regex.union("RestApi", "HttpApi", "addResource", "add_resource", "addRoutes", "add_routes")
PYTHON_HINT_MARKER = Regex.union("from aws_cdk", "import aws_cdk", "aws_cdk.aws_apigateway")
TS_JS_HINT_MARKER = Regex.union("aws-cdk-lib", "@aws-cdk/aws-apigateway", "@aws-cdk/aws-apigatewayv2")

Every .ts/.js/.py in the tree reaches these gates, so each was walking the whole corpus three (hints) plus six (constructs) times.

Class Method Summary

Instance Method Summary

Instance methods inherited from class Detector

applicable?(filename : String) : Bool applicable?, base_relative_path(filename : String) : String base_relative_path, content_matches?(file_contents : String, markers : Regex) : Bool content_matches?, detect(filename : String, file_contents : String) : Bool detect, gemfile_dependency?(file_contents : String, gem_name : String) : Bool gemfile_dependency?, gemspec_dependency?(file_contents : String, gem_name : String) : Bool gemspec_dependency?, idempotent? : Bool idempotent?, logger : NoirLogger logger, name : String name, path_sensitive? : Bool path_sensitive?

Constructor methods inherited from class Detector

new(options : Hash(String, YAML::Any)) new

Macros inherited from class Detector

detector_for(tech, extensions = nil, basenames = nil, path_segments = nil, idempotent = nil) detector_for

Class Method Detail

def self.tech_name : String #

The tech name without needing an instance, so the registry can be read off the classes themselves rather than from a parallel list.


[View source]

Instance Method Detail

def applicable?(filename : String) : Bool #

Registers each CDK source path in CodeLocator.


[View source]
def detect(filename : String, file_contents : String) : Bool #

[View source]
def idempotent? : Bool #

Registers each CDK source path in CodeLocator.


[View source]
def set_name #

Registers each CDK source path in CodeLocator.


[View source]