Skip to content

Commit 90ecbf1

Browse files
author
Adrián Bolonio
authored
Merge pull request #49 from github/kh-migrate-to-counters-1
Migrate remaining non-counter rules to counters
2 parents dcbef5f + 1310fa4 commit 90ecbf1

20 files changed

+372
-152
lines changed

README.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,15 @@ require "erblint-github/linters"
2323
```yaml
2424
---
2525
linters:
26-
GitHub::Accessibility::AvoidBothDisabledAndAriaDisabled:
26+
GitHub::Accessibility::AvoidBothDisabledAndAriaDisabledCounter:
2727
enabled: true
2828
GitHub::Accessibility::AvoidGenericLinkTextCounter:
2929
enabled: true
3030
GitHub::Accessibility::DisabledAttributeCounter:
3131
enabled: true
32-
GitHub::Accessibility::IframeHasTitle:
32+
GitHub::Accessibility::IframeHasTitleCounter:
3333
enabled: true
34-
GitHub::Accessibility::ImageHasAlt:
34+
GitHub::Accessibility::ImageHasAltCounter:
3535
enabled: true
3636
GitHub::Accessibility::LandmarkHasLabelCounter:
3737
enabled: true
@@ -41,9 +41,9 @@ linters:
4141
enabled: true
4242
GitHub::Accessibility::NoAriaLabelMisuseCounter:
4343
enabled: true
44-
GitHub::Accessibility::NoPositiveTabIndex:
44+
GitHub::Accessibility::NoPositiveTabIndexCounter:
4545
enabled: true
46-
GitHub::Accessibility::NoRedundantImageAlt:
46+
GitHub::Accessibility::NoRedundantImageAltCounter:
4747
enabled: true
4848
GitHub::Accessibility::NoTitleAttributeCounter:
4949
enabled: true
@@ -53,17 +53,17 @@ linters:
5353
5454
## Rules
5555
56-
- [GitHub::Accessibility::AvoidBothDisabledAndAriaDisabled](./docs/rules/accessibility/avoid-both-disabled-and-aria-disabled.md)
56+
- [GitHub::Accessibility::AvoidBothDisabledAndAriaDisabledCounter](./docs/rules/accessibility/avoid-both-disabled-and-aria-disabled-counter.md)
5757
- [GitHub::Accessibility::AvoidGenericLinkTextCounter](./docs/rules/accessibility/avoid-generic-link-text-counter.md)
5858
- [GitHub::Accessibility::DisabledAttributeCounter](./docs/rules/accessibility/disabled-attribute-counter.md)
59-
- [GitHub::Accessibility::IframeHasTitle](./docs/rules/accessibility/iframe-has-title.md)
6059
- [GitHub::Accessibility::LandmarkHasLabelCounter](./docs/rules/accessibility/landmark-has-label-counter.md)
61-
- [GitHub::Accessibility::ImageHasAlt](./docs/rules/accessibility/image-has-alt.md)
6260
- [GitHub::Accessibility::LinkHasHrefCounter](./docs/rules/accessibility/link-has-href-counter.md)
6361
- [GitHub::Accessibility::NestedInteractiveElementsCounter](./docs/rules/accessibility/nested-interactive-elements-counter.md)
62+
- [GitHub::Accessibility::IframeHasTitleCounter](./docs/rules/accessibility/iframe-has-title-counter.md)
63+
- [GitHub::Accessibility::ImageHasAltCounter](./docs/rules/accessibility/image-has-alt-counter.md)
6464
- [GitHub::Accessibility::NoAriaLabelMisuseCounter](./docs/rules/accessibility/no-aria-label-misuse-counter.md)
65-
- [GitHub::Accessibility::NoPositiveTabIndex](./docs/rules/accessibility/no-positive-tab-index.md)
66-
- [GitHub::Accessibility::NoRedundantImageAlt](./docs/rules/accessibility/no-redundant-image-alt.md)
65+
- [GitHub::Accessibility::NoPositiveTabIndexCounter](./docs/rules/accessibility/no-positive-tab-index-counter.md)
66+
- [GitHub::Accessibility::NoRedundantImageAltCounter](./docs/rules/accessibility/no-redundant-image-alt-counter.md)
6767
- [GitHub::Accessibility::NoTitleAttributeCounter](./docs/rules/accessibility/no-title-attribute-counter.md)
6868
- [GitHub::Accessibility::SvgHasAccessibleTextCounter](./docs/rules/accessibility/svg-has-accessible-text-counter.md)
6969

docs/rules/accessibility/avoid-both-disabled-and-aria-disabled.md renamed to docs/rules/accessibility/avoid-both-disabled-and-aria-disabled-counter.md

File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

docs/rules/accessibility/no-redundant-image-alt.md renamed to docs/rules/accessibility/no-redundant-image-alt-counter.md

File renamed without changes.

lib/erblint-github/linters/github/accessibility/avoid_both_disabled_and_aria_disabled.rb renamed to lib/erblint-github/linters/github/accessibility/avoid_both_disabled_and_aria_disabled_counter.rb

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ module ERBLint
66
module Linters
77
module GitHub
88
module Accessibility
9-
class AvoidBothDisabledAndAriaDisabled < Linter
9+
class AvoidBothDisabledAndAriaDisabledCounter < Linter
1010
include ERBLint::Linters::CustomHelpers
1111
include LinterRegistry
1212

@@ -22,7 +22,21 @@ def run(processed_source)
2222
generate_offense(self.class, processed_source, tag)
2323
end
2424

25-
rule_disabled?(processed_source)
25+
counter_correct?(processed_source)
26+
end
27+
28+
def autocorrect(processed_source, offense)
29+
return unless offense.context
30+
31+
lambda do |corrector|
32+
if processed_source.file_content.include?("erblint:counter #{simple_class_name}")
33+
# update the counter if exists
34+
corrector.replace(offense.source_range, offense.context)
35+
else
36+
# add comment with counter if none
37+
corrector.insert_before(processed_source.source_buffer.source_range, "#{offense.context}\n")
38+
end
39+
end
2640
end
2741
end
2842
end

lib/erblint-github/linters/github/accessibility/iframe_has_title.rb renamed to lib/erblint-github/linters/github/accessibility/iframe_has_title_counter.rb

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ module ERBLint
66
module Linters
77
module GitHub
88
module Accessibility
9-
class IframeHasTitle < Linter
9+
class IframeHasTitleCounter < Linter
1010
include ERBLint::Linters::CustomHelpers
1111
include LinterRegistry
1212

@@ -23,7 +23,21 @@ def run(processed_source)
2323
generate_offense(self.class, processed_source, tag) if title.empty? && !aria_hidden?(tag)
2424
end
2525

26-
rule_disabled?(processed_source)
26+
counter_correct?(processed_source)
27+
end
28+
29+
def autocorrect(processed_source, offense)
30+
return unless offense.context
31+
32+
lambda do |corrector|
33+
if processed_source.file_content.include?("erblint:counter #{simple_class_name}")
34+
# update the counter if exists
35+
corrector.replace(offense.source_range, offense.context)
36+
else
37+
# add comment with counter if none
38+
corrector.insert_before(processed_source.source_buffer.source_range, "#{offense.context}\n")
39+
end
40+
end
2741
end
2842

2943
private

lib/erblint-github/linters/github/accessibility/image_has_alt.rb renamed to lib/erblint-github/linters/github/accessibility/image_has_alt_counter.rb

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ module ERBLint
66
module Linters
77
module GitHub
88
module Accessibility
9-
class ImageHasAlt < Linter
9+
class ImageHasAltCounter < Linter
1010
include ERBLint::Linters::CustomHelpers
1111
include LinterRegistry
1212

@@ -22,7 +22,21 @@ def run(processed_source)
2222
generate_offense(self.class, processed_source, tag) if alt.empty?
2323
end
2424

25-
rule_disabled?(processed_source)
25+
counter_correct?(processed_source)
26+
end
27+
28+
def autocorrect(processed_source, offense)
29+
return unless offense.context
30+
31+
lambda do |corrector|
32+
if processed_source.file_content.include?("erblint:counter #{simple_class_name}")
33+
# update the counter if exists
34+
corrector.replace(offense.source_range, offense.context)
35+
else
36+
# add comment with counter if none
37+
corrector.insert_before(processed_source.source_buffer.source_range, "#{offense.context}\n")
38+
end
39+
end
2640
end
2741
end
2842
end

lib/erblint-github/linters/github/accessibility/no_positive_tab_index.rb renamed to lib/erblint-github/linters/github/accessibility/no_positive_tab_index_counter.rb

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ module ERBLint
66
module Linters
77
module GitHub
88
module Accessibility
9-
class NoPositiveTabIndex < Linter
9+
class NoPositiveTabIndexCounter < Linter
1010
include ERBLint::Linters::CustomHelpers
1111
include LinterRegistry
1212

@@ -20,7 +20,21 @@ def run(processed_source)
2020
generate_offense(self.class, processed_source, tag)
2121
end
2222

23-
rule_disabled?(processed_source)
23+
counter_correct?(processed_source)
24+
end
25+
26+
def autocorrect(processed_source, offense)
27+
return unless offense.context
28+
29+
lambda do |corrector|
30+
if processed_source.file_content.include?("erblint:counter #{simple_class_name}")
31+
# update the counter if exists
32+
corrector.replace(offense.source_range, offense.context)
33+
else
34+
# add comment with counter if none
35+
corrector.insert_before(processed_source.source_buffer.source_range, "#{offense.context}\n")
36+
end
37+
end
2438
end
2539
end
2640
end

0 commit comments

Comments
 (0)