module NoirTaggers
Defined in:
tagger/tagger.crConstant Summary
-
ENTRIES =
begin {% if true %} [ {% for tagger in Tagger.all_subclasses.select(&.annotation(Noir::TaggerFor)).sort_by do |sub| (sub.annotation(Noir::TaggerFor))[:order] end %} {% ann = tagger.annotation(Noir::TaggerFor) %} Entry.new({{ ann[:key] }}, {{ ann[:name] }}, {{ ann[:desc] }}, {{ tagger.ancestors.includes?(FrameworkTagger) }}), {% end %} ] of Entry {% end %} end -
Every annotated tagger, in
order. Derived from the classes, so a tagger joins the registry by existing: the two hand-maintained hash literals this replaces were a second place to remember, where forgetting produced no error and no failing spec — just a tagger that never ran. -
FRAMEWORK_ENTRIES =
ENTRIES.select(&.framework) -
PLAIN_ENTRIES =
ENTRIES.reject(&.framework)
Class Method Summary
- .available_tagger_names : Array(String)
-
.build(key : String, options : Hash(String, YAML::Any)) : Tagger | Nil
Instantiates the tagger
keynames, or nil when nothing claims it. - .framework_taggers : Array(Entry)
- .run_tagger(endpoints : Array(Endpoint), options : Hash(String, YAML::Any), use_taggers : String)
- .taggers : Array(Entry)
-
.target_techs(key : String) : Array(String)
Techs a framework tagger declares an interest in; empty for plain taggers, which run against every endpoint.
- .unknown_tagger_names(use_taggers : String) : Array(String)
- .validate_tagger_names!(use_taggers : String)
Class Method Detail
Instantiates the tagger key names, or nil when nothing claims it.
def self.run_tagger(endpoints : Array(Endpoint), options : Hash(String, YAML::Any), use_taggers : String)
#
Techs a framework tagger declares an interest in; empty for plain taggers, which run against every endpoint.