Gems should be sorted in an alphabetical order within their section of the Gemfile. Gem codeclimate-test-reporter
should appear before simplecov
. Open
gem "codeclimate-test-reporter", require: false
- 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'
Example: TreatCommentsAsGroupSeparators: true (default)
# good
# For code quality
gem 'rubocop'
# For tests
gem 'rspec'
Example: TreatCommentsAsGroupSeparators: false
# bad
# For code quality
gem 'rubocop'
# For tests
gem 'rspec'
Gems should be sorted in an alphabetical order within their section of the Gemfile. Gem better_errors
should appear before pry-rails
. Open
gem 'better_errors'
- 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'
Example: TreatCommentsAsGroupSeparators: true (default)
# good
# For code quality
gem 'rubocop'
# For tests
gem 'rspec'
Example: TreatCommentsAsGroupSeparators: false
# bad
# For code quality
gem 'rubocop'
# For tests
gem 'rspec'
Missing frozen string literal comment. Open
source 'https://rubygems.org'
- Read upRead up
- Exclude checks
Helps you transition from mutable string literals
to frozen string literals.
It will add the # frozen_string_literal: true
magic comment to the top
of files to enable frozen string literals. Frozen string literals may be
default in future Ruby. The comment will be added below a shebang and
encoding comment. The frozen string literal comment is only valid in Ruby 2.3+.
Note that the cop will accept files where the comment exists but is set
to false
instead of true
.
To require a blank line after this comment, please see
Layout/EmptyLineAfterMagicComment
cop.
Safety:
This cop's autocorrection is unsafe since any strings mutations will
change from being accepted to raising FrozenError
, as all strings
will become frozen by default, and will need to be manually refactored.
Example: EnforcedStyle: always (default)
# 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
# good
# frozen_string_literal: false
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
Example: EnforcedStyle: always_true
# The `always_true` style enforces that the frozen string literal
# comment is set to `true`. This is a stricter option than `always`
# and forces projects to use frozen string literals.
# bad
# frozen_string_literal: false
module Baz
# ...
end
# bad
module Baz
# ...
end
# good
# frozen_string_literal: true
module Bar
# ...
end
Gems should be sorted in an alphabetical order within their section of the Gemfile. Gem autoprefixer-rails
should appear before bootstrap
. Open
gem 'autoprefixer-rails'
- 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'
Example: TreatCommentsAsGroupSeparators: true (default)
# good
# For code quality
gem 'rubocop'
# For tests
gem 'rspec'
Example: TreatCommentsAsGroupSeparators: false
# bad
# For code quality
gem 'rubocop'
# For tests
gem 'rspec'
Gems should be sorted in an alphabetical order within their section of the Gemfile. Gem rails-controller-testing
should appear before rspec-rails
. Open
gem 'rails-controller-testing'
- 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'
Example: TreatCommentsAsGroupSeparators: true (default)
# good
# For code quality
gem 'rubocop'
# For tests
gem 'rspec'
Example: TreatCommentsAsGroupSeparators: false
# bad
# For code quality
gem 'rubocop'
# For tests
gem 'rspec'
Missing space after #
. Open
#gem 'jbuilder', '~> 2.0'
- Read upRead up
- Exclude checks
Checks whether comments have a leading space after the
#
denoting the start of the comment. The leading space is not
required for some RDoc special syntax, like #++
, #--
,
#:nodoc
, =begin
- and =end
comments, "shebang" directives,
or rackup options.
Example:
# bad
#Some comment
# good
# Some comment
Example: AllowDoxygenCommentStyle: false (default)
# bad
#**
# Some comment
# Another line of comment
#*
Example: AllowDoxygenCommentStyle: true
# good
#**
# Some comment
# Another line of comment
#*
Example: AllowGemfileRubyComment: false (default)
# bad
#ruby=2.7.0
#ruby-gemset=myproject
Example: AllowGemfileRubyComment: true
# good
#ruby=2.7.0
#ruby-gemset=myproject
Prefer single-quoted strings when you don't need string interpolation or special symbols. Open
gem "codeclimate-test-reporter", require: false
- 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"