Skip to content

Commit 58f3b00

Browse files
author
Adrián Bolonio
authored
Merge pull request #7 from bensheldon/require-support
Recommend usage of `require: rubocop-rails-accessibility`; rename RuboCop department to "RailsAccessibility"
2 parents 61e9f3e + 6199ad2 commit 58f3b00

21 files changed

+95
-77
lines changed

.rubocop.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
require:
2+
- rubocop-rails-accessibility
3+
14
inherit_gem:
25
rubocop-github:
36
- config/default.yml
@@ -7,3 +10,4 @@ Naming/FileName:
710
Enabled: true
811
Exclude:
912
- "rubocop-rails-accessibility.gemspec"
13+
- "lib/rubocop-rails-accessibility.rb"

Gemfile.lock

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ GEM
3131
crass (~> 1.0.2)
3232
nokogiri (>= 1.5.9)
3333
minitest (5.16.3)
34+
nokogiri (1.13.8-arm64-darwin)
35+
racc (~> 1.4)
3436
nokogiri (1.13.8-x86_64-darwin)
3537
racc (~> 1.4)
3638
nokogiri (1.13.8-x86_64-linux)
@@ -91,6 +93,7 @@ GEM
9193
unicode-display_width (2.2.0)
9294

9395
PLATFORMS
96+
arm64-darwin-21
9497
x86_64-darwin-19
9598
x86_64-linux
9699

@@ -105,4 +108,4 @@ DEPENDENCIES
105108
rubocop-rails-accessibility!
106109

107110
BUNDLED WITH
108-
2.3.17
111+
2.3.22

README.md

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,8 @@ You need to tell RuboCop to load RuboCop Rails Accessibility.
2525
Put this into your `.rubocop.yml`.
2626

2727
``` yaml
28-
inherit_gem:
29-
rubocop-rails-accessibility:
30-
- config/default.yml
28+
require:
29+
- rubocop-rails-accessibility
3130
```
3231
3332
## Testing
@@ -47,14 +46,14 @@ bundle exec rake
4746
## The Cops
4847

4948
All cops are located under
50-
[`lib/rubocop/cop/rubocop-rails-accessibility`](lib/rubocop/cop/rubocop-rails-accessibility), and contain
49+
[`lib/rubocop/cop/rails_accessibility`](lib/rubocop/cop/rails_accessibility), and contain
5150
examples/documentation.
5251

5352
## Rules
5453

55-
- [RuboCop::Cop::Accessibility::ImageHasAlt](guides/image-has-alt.md)
56-
- [RuboCop::Cop::Accessibility::NoPositiveTabindex](guides/no-positive-tabindex.md)
57-
- [RuboCop::Cop::Accessibility::NoRedundantImageAlt](guides/no-redundant-image-alt.md)
54+
- [RailsAccessibility/ImageHasAlt](guides/image-has-alt.md)
55+
- [RailsAccessibility/NoPositiveTabindex](guides/no-positive-tabindex.md)
56+
- [RailsAccessibility/NoRedundantImageAlt](guides/no-redundant-image-alt.md)
5857

5958
## Contributing
6059

config/default.yml

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,11 @@
1-
require:
2-
- rubocop/cop/rubocop_rails_accessibility_cops
3-
4-
AllCops:
5-
DisabledByDefault: true
6-
7-
RubocopRailsAccessibility/ImageHasAlt:
1+
RailsAccessibility/ImageHasAlt:
82
Enabled: true
93
StyleGuide: https://github.com/github/rubocop-rails-accessibility/blob/master/guides/image-has-alt.md
10-
RubocopRailsAccessibility/NoPositiveTabindex:
4+
5+
RailsAccessibility/NoPositiveTabindex:
116
Enabled: true
127
StyleGuide: https://github.com/github/rubocop-rails-accessibility/blob/master/guides/no-positive-tabindex.md
13-
RubocopRailsAccessibility/NoRedundantImageAlt:
8+
9+
RailsAccessibility/NoRedundantImageAlt:
1410
Enabled: true
1511
StyleGuide: https://github.com/github/rubocop-rails-accessibility/blob/master/guides/no-redundant-image-alt.md

guides/image-has-alt.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# RubocopRailsAccessibility/ImageHasAlt
1+
# RailsAccessibility/ImageHasAlt
22

33
## Rule Details
44

@@ -26,4 +26,4 @@ Images should have an alt prop with meaningful text or an empty string for decor
2626
```erb
2727
<!-- also good -->
2828
<%= image_tag "spinners/octocat-spinner-16px.gif", size: "12x12", alt: "" %>
29-
```
29+
```

guides/no-positive-tabindex.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# RubocopRailsAccessibility/NoPositiveTabindex
1+
# RailsAccessibility/NoPositiveTabindex
22

33
## Rule Details
44

@@ -21,4 +21,4 @@ Positive tabindex is error-prone and often inaccessible.
2121
```erb
2222
<!-- good -->
2323
<%= button_tag "Continue", :tabindex => -1 %>
24-
```
24+
```

guides/no-redundant-image-alt.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# RubocopRailsAccessibility/NoRedundantImageAlt
1+
# RailsAccessibility/NoRedundantImageAlt
22

33
## Rule Details
44

@@ -21,4 +21,4 @@ Alt prop should not contain `image` or `picture` as screen readers already annou
2121
```erb
2222
<!-- good -->
2323
<%= image_tag "cat.gif", size: "12x12", alt: "A black cat" %>
24-
```
24+
```

lib/rubocop-rails-accessibility.rb

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# frozen_string_literal: true
2+
3+
require "rubocop"
4+
require "rubocop/rails_accessibility"
5+
require "rubocop/rails_accessibility/inject"
6+
require "rubocop/rails_accessibility/version"
7+
8+
RuboCop::RailsAccessibility::Inject.defaults!
9+
10+
require "rubocop/cop/rails_accessibility/image_has_alt"
11+
require "rubocop/cop/rails_accessibility/no_positive_tabindex"
12+
require "rubocop/cop/rails_accessibility/no_redundant_image_alt"

lib/rubocop/cop/inject.rb

Lines changed: 0 additions & 18 deletions
This file was deleted.

lib/rubocop/cop/rubocop-rails-accessibility/image_has_alt.rb renamed to lib/rubocop/cop/rails_accessibility/image_has_alt.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
module RuboCop
66
module Cop
7-
module RubocopRailsAccessibility
7+
module RailsAccessibility
88
class ImageHasAlt < Base
99
MSG = "Images should have an alt prop with meaningful text or an empty string for decorative images"
1010

lib/rubocop/cop/rubocop-rails-accessibility/no_positive_tabindex.rb renamed to lib/rubocop/cop/rails_accessibility/no_positive_tabindex.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
module RuboCop
66
module Cop
7-
module RubocopRailsAccessibility
7+
module RailsAccessibility
88
class NoPositiveTabindex < Base
99
MSG = "Positive tabindex is error-prone and often inaccessible."
1010

lib/rubocop/cop/rubocop-rails-accessibility/no_redundant_image_alt.rb renamed to lib/rubocop/cop/rails_accessibility/no_redundant_image_alt.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
module RuboCop
66
module Cop
7-
module RubocopRailsAccessibility
7+
module RailsAccessibility
88
class NoRedundantImageAlt < Base
99
MSG = "Alt prop should not contain `image` or `picture` as screen readers already announce the element as an image"
1010
REDUNDANT_ALT_WORDS = %w[image picture].freeze

lib/rubocop/cop/rubocop_rails_accessibility_cops.rb

Lines changed: 0 additions & 10 deletions
This file was deleted.

lib/rubocop/cop/version.rb

Lines changed: 0 additions & 5 deletions
This file was deleted.

lib/rubocop/rails_accessibility.rb

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# frozen_string_literal: true
2+
3+
require "pathname"
4+
5+
module RuboCop
6+
module RailsAccessibility
7+
PROJECT_ROOT = Pathname.new(__dir__).parent.parent.expand_path.freeze
8+
CONFIG_DEFAULT = PROJECT_ROOT.join("config", "default.yml").freeze
9+
end
10+
end
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# frozen_string_literal: true
2+
3+
require "rubocop"
4+
5+
# The original code is from https://github.com/rubocop/rubocop-rspec/blob/main/lib/rubocop/rspec/inject.rb
6+
# See https://github.com/rubocop/rubocop-rspec/blob/main/MIT-LICENSE.md
7+
module RuboCop
8+
module RailsAccessibility
9+
module Inject
10+
def self.defaults!
11+
path = CONFIG_DEFAULT.to_s
12+
hash = ::RuboCop::ConfigLoader.send(:load_yaml_configuration, path)
13+
config = ::RuboCop::Config.new(hash, path).tap(&:make_excludes_absolute)
14+
puts "configuration from #{path}" if ::RuboCop::ConfigLoader.debug?
15+
config = ::RuboCop::ConfigLoader.merge_with_default(config, path)
16+
::RuboCop::ConfigLoader.instance_variable_set(:@default_configuration, config)
17+
end
18+
end
19+
end
20+
end
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# frozen_string_literal: true
2+
3+
module RuboCop
4+
module RailsAccessibility
5+
VERSION = "0.1.2"
6+
end
7+
end

rubocop-rails-accessibility.gemspec

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
# frozen_string_literal: true
22

3-
require_relative "lib/rubocop/cop/version"
3+
require_relative "lib/rubocop/rails_accessibility/version"
44

55
Gem::Specification.new do |spec|
66
spec.name = "rubocop-rails-accessibility"
7-
spec.version = RubocopRailsAccessibility::VERSION
7+
spec.version = RuboCop::RailsAccessibility::VERSION
88
spec.authors = ["GitHub Accessibility Team"]
99
spec.email = ["[email protected]"]
1010

11-
spec.summary = "Custom extension for RuboCop."
11+
spec.summary = "Custom RuboCop rules for Rails Accessibility."
1212
spec.homepage = "https://github.com/github/rubocop-rails-accessibility"
1313
spec.license = "MIT"
1414
spec.required_ruby_version = ">= 2.7.0"
@@ -28,14 +28,14 @@ Gem::Specification.new do |spec|
2828
spec.add_development_dependency "rubocop-rails"
2929
spec.add_development_dependency "rubocop-performance"
3030

31-
# Specify which files should be added to the gem when it is released.
32-
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
33-
spec.files = Dir.chdir(File.expand_path(__dir__)) do
34-
`git ls-files -z`.split("\x0").reject do |f|
35-
(f == __FILE__) || f.match(%r{\A(?:(?:bin|test|spec|features)/|\.(?:git|travis|circleci)|appveyor)})
36-
end
37-
end
38-
spec.bindir = "exe"
39-
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
31+
spec.files = Dir[
32+
"config/*.yml",
33+
"guides/*.md",
34+
"lib/**/*.rb",
35+
"CONTRIBUTING.md",
36+
"LICENSE",
37+
"README.md",
38+
]
39+
4040
spec.require_paths = ["lib"]
4141
end

test/test_image_has_alt.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33
require_relative "./cop_test"
44
require "minitest/autorun"
5-
require "rubocop/cop/rubocop-rails-accessibility/image_has_alt"
5+
require "rubocop/cop/rails_accessibility/image_has_alt"
66

77
class TestImageHasAlt < CopTest
88
def cop_class
9-
RuboCop::Cop::RubocopRailsAccessibility::ImageHasAlt
9+
RuboCop::Cop::RailsAccessibility::ImageHasAlt
1010
end
1111

1212
def test_image_has_alt_offense

test/test_no_positive_tabindex.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33
require_relative "./cop_test"
44
require "minitest/autorun"
5-
require "rubocop/cop/rubocop-rails-accessibility/no_positive_tabindex"
5+
require "rubocop/cop/rails_accessibility/no_positive_tabindex"
66

77
class NoPositiveTabindex < CopTest
88
def cop_class
9-
RuboCop::Cop::RubocopRailsAccessibility::NoPositiveTabindex
9+
RuboCop::Cop::RailsAccessibility::NoPositiveTabindex
1010
end
1111

1212
def test_no_positive_tabindex_alt_offense

test/test_no_redundant_image_alt.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33
require_relative "./cop_test"
44
require "minitest/autorun"
5-
require "rubocop/cop/rubocop-rails-accessibility/no_redundant_image_alt"
5+
require "rubocop/cop/rails_accessibility/no_redundant_image_alt"
66

77
class NoRedundantImageAlt < CopTest
88
def cop_class
9-
RuboCop::Cop::RubocopRailsAccessibility::NoRedundantImageAlt
9+
RuboCop::Cop::RailsAccessibility::NoRedundantImageAlt
1010
end
1111

1212
def test_no_redundant_image_alt_offense

0 commit comments

Comments
 (0)