Showing 1,727 of 1,727 total issues
Color literals like #b389f9
should only be used in variable declarations; they should be referred to via variable everywhere else. Open
border-color: #b389f9;
- Exclude checks
Color literals like rgba(0, 0, 0, 0.35)
should only be used in variable declarations; they should be referred to via variable everywhere else. Open
text-shadow: 1px 1px 0 rgba(0, 0, 0, .35);
- Exclude checks
Properties should be ordered border-color, color Open
color: $dark-indigo;
- Exclude checks
Properties should be ordered color, font-size, margin-top Open
margin-top: 1.75rem;
- Exclude checks
Properties should be ordered font-size, margin-top Open
margin-top: 4.5rem;
- Exclude checks
Shorthand form for property padding
should be written more concisely as 1.5rem 2rem 2.3rem
instead of 1.5rem 2rem 2.3rem 2rem
Open
padding: 1.5rem 2rem 2.3rem 2rem;
- Exclude checks
Use tr
instead of gsub
. Open
field_name.remove("updated").gsub("_", " ")
- Read upRead up
- Exclude checks
This cop identifies places where gsub
can be replaced by
tr
or delete
.
Example:
# bad
'abc'.gsub('b', 'd')
'abc'.gsub('a', '')
'abc'.gsub(/a/, 'd')
'abc'.gsub!('a', 'd')
# good
'abc'.gsub(/.*/, 'a')
'abc'.gsub(/a+/, 'd')
'abc'.tr('b', 'd')
'a b c'.delete(' ')
Missing top-level class documentation comment. Open
class NewGroupRoleNotifier
- Read upRead up
- Exclude checks
This cop checks for missing top-level documentation of classes and modules. Classes with no body are exempt from the check and so are namespace modules - modules that have nothing in their bodies except classes, other modules, or constant definitions.
The documentation requirement is annulled if the class or module has a "#:nodoc:" comment next to it. Likewise, "#:nodoc: all" does the same for all its children.
Example:
# bad
class Person
# ...
end
# good
# Description/Explanation of Person class
class Person
# ...
end
Missing top-level class documentation comment. Open
class ApplicationMailer < ActionMailer::Base
- Read upRead up
- Exclude checks
This cop checks for missing top-level documentation of classes and modules. Classes with no body are exempt from the check and so are namespace modules - modules that have nothing in their bodies except classes, other modules, or constant definitions.
The documentation requirement is annulled if the class or module has a "#:nodoc:" comment next to it. Likewise, "#:nodoc: all" does the same for all its children.
Example:
# bad
class Person
# ...
end
# good
# Description/Explanation of Person class
class Person
# ...
end
Use warn
instead of $stderr.puts
to allow such output to be disabled. Open
$stderr.puts "Download Yarn at https://yarnpkg.com/en/docs/install"
- Read upRead up
- Exclude checks
This cop identifies places where $stderr.puts
can be replaced by
warn
. The latter has the advantage of easily being disabled by,
e.g. the -W0 interpreter flag, or setting $VERBOSE to nil.
Example:
# bad
$stderr.puts('hello')
# good
warn('hello')
Prefer single-quoted strings inside interpolations. Open
exec "yarnpkg #{ARGV.join(" ")}"
- Read upRead up
- Exclude checks
This cop checks that quotes inside the string interpolation match the configured preference.
Example: EnforcedStyle: single_quotes (default)
# bad
result = "Tests #{success ? "PASS" : "FAIL"}"
# good
result = "Tests #{success ? 'PASS' : 'FAIL'}"
Example: EnforcedStyle: double_quotes
# bad
result = "Tests #{success ? 'PASS' : 'FAIL'}"
# good
result = "Tests #{success ? "PASS" : "FAIL"}"
include
is used at the top level. Use inside class
or module
. Open
include FileUtils
- Read upRead up
- Exclude checks
This cop checks that include
, extend
and prepend
exists at
the top level.
Using these at the top level affects the behavior of Object
.
There will not be using include
, extend
and prepend
at
the top level. Let's use it inside class
or module
.
Example:
# bad
include M
class C
end
# bad
extend M
class C
end
# bad
prepend M
class C
end
# good
class C
include M
end
# good
class C
extend M
end
# good
class C
prepend M
end
Gems should be sorted in an alphabetical order within their section of the Gemfile. Gem pg
should appear before rails
. Open
gem 'pg', '~> 0.18'
- Read upRead up
- Exclude checks
Gems should be alphabetically sorted within groups.
Example:
# bad
gem 'rubocop'
gem 'rspec'
# good
gem 'rspec'
gem 'rubocop'
# good
gem 'rubocop'
gem 'rspec'
# good only if TreatCommentsAsGroupSeparators is true
# For code quality
gem 'rubocop'
# For tests
gem 'rspec'
Gems should be sorted in an alphabetical order within their section of the Gemfile. Gem bcrypt
should appear before jbuilder
. Open
gem 'bcrypt', '~> 3.1.7'
- Read upRead up
- Exclude checks
Gems should be alphabetically sorted within groups.
Example:
# bad
gem 'rubocop'
gem 'rspec'
# good
gem 'rspec'
gem 'rubocop'
# good
gem 'rubocop'
gem 'rspec'
# good only if TreatCommentsAsGroupSeparators is true
# For code quality
gem 'rubocop'
# For tests
gem 'rspec'
Inconsistent indentation detected. Open
def default_notification_email(user, group, subject:)
@user = user
@group = group
@url = user_notifications_url(@user)
- Read upRead up
- Exclude checks
This cops checks for inconsistent indentation.
Example:
class A
def test
puts 'hello'
puts 'world'
end
end
Prefer single-quoted strings when you don't need string interpolation or special symbols. Open
repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/")
- Read upRead up
- Exclude checks
Checks if uses of quotes match the configured preference.
Example: EnforcedStyle: single_quotes (default)
# bad
"No special symbols"
"No string interpolation"
"Just text"
# good
'No special symbols'
'No string interpolation'
'Just text'
"Wait! What's #{this}!"
Example: EnforcedStyle: double_quotes
# bad
'Just some text'
'No special chars or interpolation'
# good
"Just some text"
"No special chars or interpolation"
"Every string in #{project} uses double_quotes"
Properties should be ordered background-color, border-top-left-radius, border-top-right-radius, color, height, overflow, padding-bottom, position Open
position: relative;
- Exclude checks
Missing magic comment # frozen_string_literal: true
. Open
#!/usr/bin/env ruby
- Read upRead up
- Exclude checks
This cop is designed to help upgrade to Ruby 3.0. It will add the
comment # frozen_string_literal: true
to the top of files to
enable frozen string literals. Frozen string literals may be default
in Ruby 3.0. The comment will be added below a shebang and encoding
comment. The frozen string literal comment is only valid in Ruby 2.3+.
Example: EnforcedStyle: when_needed (default)
# The `when_needed` style will add the frozen string literal comment
# to files only when the `TargetRubyVersion` is set to 2.3+.
# bad
module Foo
# ...
end
# good
# frozen_string_literal: true
module Foo
# ...
end
Example: EnforcedStyle: always
# The `always` style will always add the frozen string literal comment
# to a file, regardless of the Ruby version or if `freeze` or `<<` are
# called on a string literal.
# bad
module Bar
# ...
end
# good
# frozen_string_literal: true
module Bar
# ...
end
Example: EnforcedStyle: never
# The `never` will enforce that the frozen string literal comment does
# not exist in a file.
# bad
# frozen_string_literal: true
module Baz
# ...
end
# good
module Baz
# ...
end
Colon after property should be followed by one space Open
box-sizing: border-box;
- Exclude checks
Color literals like rgba(27, 31, 35, 0.2)
should only be used in variable declarations; they should be referred to via variable everywhere else. Open
box-shadow: 0 3px 10px rgba(27,31,35,0.2);
- Exclude checks