Class: Moku6::Linter
- Inherits:
-
Object
- Object
- Moku6::Linter
- Defined in:
- lib/moku6/linter.rb
Constant Summary collapse
- EVENT_RULES =
[ Rules::SchemaRule, Rules::ActionNamingRule, Rules::LabelDescriptionRule, Rules::PrivacyMaskingRule, Rules::VisibilityRule, Rules::RetentionRule, Rules::ExampleConsistencyRule, Rules::PiiFieldNameHeuristicRule ].freeze
- CATALOG_RULES =
: Array
[ Rules::UniquenessRule ].freeze
Class Method Summary collapse
-
.custom_catalog_rules ⇒ Object
: () -> Array.
-
.custom_event_rules ⇒ Object
: () -> Array.
-
.register_catalog_rule(klass) ⇒ Object
: (singleton(Rules::BaseRule) klass) -> Array.
-
.register_event_rule(klass) ⇒ Object
: (singleton(Rules::BaseRule) klass) -> Array.
Instance Method Summary collapse
-
#initialize(catalog, config) ⇒ Linter
constructor
: (Catalog catalog, Config config) -> void.
-
#run ⇒ Object
: () -> Result.
Constructor Details
#initialize(catalog, config) ⇒ Linter
: (Catalog catalog, Config config) -> void
41 42 43 44 |
# File 'lib/moku6/linter.rb', line 41 def initialize(catalog, config) @catalog = catalog @config = config end |
Class Method Details
.custom_catalog_rules ⇒ Object
: () -> Array
37 |
# File 'lib/moku6/linter.rb', line 37 def custom_catalog_rules = @custom_catalog_rules ||= [] |
.custom_event_rules ⇒ Object
: () -> Array
34 |
# File 'lib/moku6/linter.rb', line 34 def custom_event_rules = @custom_event_rules ||= [] |
.register_catalog_rule(klass) ⇒ Object
: (singleton(Rules::BaseRule) klass) -> Array
31 |
# File 'lib/moku6/linter.rb', line 31 def register_catalog_rule(klass) = custom_catalog_rules << klass |
.register_event_rule(klass) ⇒ Object
: (singleton(Rules::BaseRule) klass) -> Array
28 |
# File 'lib/moku6/linter.rb', line 28 def register_event_rule(klass) = custom_event_rules << klass |
Instance Method Details
#run ⇒ Object
: () -> Result
47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/moku6/linter.rb', line 47 def run offenses = [] (CATALOG_RULES + self.class.custom_catalog_rules).each do |rule_class| offenses.concat(rule_class.new(@config).check_catalog(@catalog)) # steep:ignore NoMethod end @catalog.events.each do |event| (EVENT_RULES + self.class.custom_event_rules).each do |rule_class| offenses.concat(rule_class.new(@config).check(event)) end end Result.new(offenses) end |