class RuboCop::Cop::Mirego::ExplicitReturnValue
Constants
- MESSAGE
Public Instance Methods
on_def(node)
click to toggle source
# File lib/rubocop/cop/mirego/explicit_return_value.rb, line 7 def on_def(node) _, _, body = *node check(node: body) end
on_defs(node)
click to toggle source
# File lib/rubocop/cop/mirego/explicit_return_value.rb, line 12 def on_defs(node) _, _, _, body = *node check(node: body) end
Protected Instance Methods
check(node:)
click to toggle source
# File lib/rubocop/cop/mirego/explicit_return_value.rb, line 19 def check(node:) expressions = *node return nil unless node if expressions.empty? validate_expression(expression: node) else expressions.compact.each { |expression| validate_expression(expression: expression) } end end
check_return_node(node:, children:)
click to toggle source
# File lib/rubocop/cop/mirego/explicit_return_value.rb, line 40 def check_return_node(node:, children:) return nil unless children.empty? add_offense(node, :expression, MESSAGE) end
return_node_type(node:)
click to toggle source
# File lib/rubocop/cop/mirego/explicit_return_value.rb, line 46 def return_node_type(node:) node.respond_to?(:type) && node.type == :return end
validate_expression(expression:)
click to toggle source
# File lib/rubocop/cop/mirego/explicit_return_value.rb, line 30 def validate_expression(expression:) if return_node_type(node: expression) check_return_node(node: expression, children: expression.children) elsif expression.respond_to?(:children) children = expression.children.compact check_return_node(node: expression, children: children.last.to_a) if children.last && return_node_type(node: children.last) end end