Class: WhatDyaReturn::StatementChecker::ReachableToNextStatement

Inherits:
Object
  • Object
show all
Extended by:
RuboCop::AST::NodePattern::Macros
Defined in:
lib/what_dya_return/statement_checker/reachable_to_next_statement.rb

Instance Method Summary collapse

Instance Method Details

#flow_terminate_command?(node) ⇒ Object



14
15
16
17
18
19
20
21
22
# File 'lib/what_dya_return/statement_checker/reachable_to_next_statement.rb', line 14

def_node_matcher :flow_terminate_command?, "{\n  return next break retry redo\n  (send\n    {nil? (const {nil? cbase} :Kernel)}\n    {:raise :fail :throw :exit :exit! :abort}\n    ...)\n}\n"

#ok?(node) ⇒ Boolean

Parameters:

  • node (RuboCop::AST::Node)

Returns:

  • (Boolean)


28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/what_dya_return/statement_checker/reachable_to_next_statement.rb', line 28

def ok?(node)
  return false if flow_terminate_command?(node)

  case node
  when WhatDyaReturn::AST::BeginNode
    check_begin(node)
  when WhatDyaReturn::AST::IfNode
    check_if(node)
  when WhatDyaReturn::AST::CaseNode
    check_case(node)
  else
    true
  end
end