class
Detector::Specification::Oas2
- Detector::Specification::Oas2
- Detector
- Reference
- Object
Defined in:
detector/detectors/specification/oas2.crConstant Summary
-
SWAGGER2_JSON_MARKER =
/"swagger"[ \t]*:[ \t]*"2\./ -
SWAGGER2_YAML_MARKER =
/^["']?swagger["']?[ \t]*:[ \t]*["']?2\./m -
See
Detector::Specification::Oas3for why the YAML gate is anchored at column 0 and stands in for the parse. A bare/swagger/matched every OpenAPI 3 document that links to its ownswagger.yamlorigin — 67 of the 493 openapi-directory documents in the perf corpus — and each one paid for a full YAML parse only to be rejected.
Class Method Summary
-
.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.
Instance Method Summary
-
#applicable?(filename : String) : Bool
Registers every OAS2 spec path in
CodeLocatorfor the analyzer pass. - #detect(filename : String, file_contents : String) : Bool
-
#idempotent? : Bool
Registers every OAS2 spec path in
CodeLocatorfor the analyzer pass. -
#set_name
Registers every OAS2 spec path in
CodeLocatorfor the analyzer pass.
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
The tech name without needing an instance, so the registry can be read off the classes themselves rather than from a parallel list.
Instance Method Detail
Registers every OAS2 spec path in CodeLocator for the
analyzer pass. Must keep running after first match.
Registers every OAS2 spec path in CodeLocator for the
analyzer pass. Must keep running after first match.
Registers every OAS2 spec path in CodeLocator for the
analyzer pass. Must keep running after first match.