class RuboCop::Cop::Style::MissingElse
Checks for `if` expressions that do not have an `else` branch. SupportedStyles
if @example
# bad if condition statement end
case @example
# bad case var when condition statement end
@example
# good if condition statement else # the content of the else branch will be determined by Style/EmptyElse end
Constants
- MSG
- MSG_EMPTY
- MSG_NIL
Public Instance Methods
on_case(node)
click to toggle source
# File lib/rubocop/cop/style/missing_else.rb, line 46 def on_case(node) return if if_style? check(node) end
on_normal_if_unless(node)
click to toggle source
# File lib/rubocop/cop/style/missing_else.rb, line 39 def on_normal_if_unless(node) return if case_style? return if unless_else_cop_enabled? && node.unless? check(node) end
Private Instance Methods
case_style?()
click to toggle source
# File lib/rubocop/cop/style/missing_else.rb, line 85 def case_style? style == :case end
check(node)
click to toggle source
# File lib/rubocop/cop/style/missing_else.rb, line 54 def check(node) return if node.else? if empty_else_cop_enabled? if empty_else_style == :empty add_offense(node) elsif empty_else_style == :nil add_offense(node) end end add_offense(node) end
empty_else_config()
click to toggle source
# File lib/rubocop/cop/style/missing_else.rb, line 106 def empty_else_config config.for_cop('Style/EmptyElse') end
empty_else_cop_enabled?()
click to toggle source
# File lib/rubocop/cop/style/missing_else.rb, line 97 def empty_else_cop_enabled? empty_else_config.fetch('Enabled') end
empty_else_style()
click to toggle source
# File lib/rubocop/cop/style/missing_else.rb, line 101 def empty_else_style return unless empty_else_config.key?('EnforcedStyle') empty_else_config['EnforcedStyle'].to_sym end
if_style?()
click to toggle source
# File lib/rubocop/cop/style/missing_else.rb, line 81 def if_style? style == :if end
message(node)
click to toggle source
# File lib/rubocop/cop/style/missing_else.rb, line 68 def message(node) template = case empty_else_style when :empty MSG_NIL when :nil MSG_EMPTY else MSG end format(template, node.type) end
unless_else_config()
click to toggle source
# File lib/rubocop/cop/style/missing_else.rb, line 93 def unless_else_config config.for_cop('Style/UnlessElse') end
unless_else_cop_enabled?()
click to toggle source
# File lib/rubocop/cop/style/missing_else.rb, line 89 def unless_else_cop_enabled? unless_else_config.fetch('Enabled') end