Use options[:form].password.present?
instead of options[:form].password && !options[:form].password.empty?
. Open
if options[:form].password && !options[:form].password.empty?
- Read upRead up
- Exclude checks
This cops checks for code that can be changed to blank?
.
Settings:
NotNilAndNotEmpty: Convert checks for not nil
and not empty?
to present?
NotBlank: Convert usages of not blank?
to present?
UnlessBlank: Convert usages of unless
blank?
to if
present?
Example:
# NotNilAndNotEmpty: true
# bad
!foo.nil? && !foo.empty?
foo != nil && !foo.empty?
!foo.blank?
# good
foo.present?
# NotBlank: true
# bad
!foo.blank?
not foo.blank?
# good
foo.present?
# UnlessBlank: true
# bad
something unless foo.blank?
# good
something if foo.present?
Missing magic comment # frozen_string_literal: true
. Open
class UserForm < Reform::Form
- 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
Missing space after #
. Open
#json['fields']['avatar'] = ''
- Read upRead up
- Exclude checks
This cop 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
Use User.where(email: field_value).count.zero?
instead of User.where(email: field_value).count == 0
. Open
User.where(email: field_value).count == 0
- Read upRead up
- Exclude checks
This cop checks for usage of comparison operators (==
,
>
, <
) to test numbers as zero, positive, or negative.
These can be replaced by their respective predicate methods.
The cop can also be configured to do the reverse.
The cop disregards #nonzero?
as it its value is truthy or falsey,
but not true
and false
, and thus not always interchangeable with
!= 0
.
The cop ignores comparisons to global variables, since they are often
populated with objects which can be compared with integers, but are
not themselves Interger
polymorphic.
Example: EnforcedStyle: predicate (default)
# bad
foo == 0
0 > foo
bar.baz > 0
# good
foo.zero?
foo.negative?
bar.baz.positive?
Example: EnforcedStyle: comparison
# bad
foo.zero?
foo.negative?
bar.baz.positive?
# good
foo == 0
0 > foo
bar.baz > 0