class RuboCop::Cop::Lint::RequireRangeParentheses
Checks that a range literal is enclosed in parentheses when the end of the range is at a line break.
NOTE: The following is maybe intended for ‘(42..)`. But, compatible is `42..do_something`. So, this cop does not provide autocorrection because it is left to user.
- source,ruby
case condition when 42..
do_something
end
@example
# bad - Represents `(1..42)`, not endless range. 1.. 42 # good - It's incompatible, but your intentions when using endless range may be: (1..) 42 # good 1..42 # good (1..42) # good (1.. 42)
Constants
- MSG
Public Instance Methods
on_irange(node)
click to toggle source
# File lib/rubocop/cop/lint/require_range_parentheses.rb, line 43 def on_irange(node) return if node.parent&.begin_type? return unless node.begin && node.end return if same_line?(node.begin, node.end) message = format(MSG, range: "#{node.begin.source}#{node.loc.operator.source}") add_offense(node, message: message) end
Also aliased as: on_erange