Module: RuboCop::Cop::IfNode
- Included in:
- Lint::ConditionPosition, Lint::ElseLayout, Lint::EndAlignment, Lint::RequireParentheses, Metrics::BlockNesting, Metrics::PerceivedComplexity, OnNormalIfUnless, StatementModifier, Style::ConditionalAssignment, Style::GuardClause, Style::IdenticalConditionalBranches, Style::IfInsideElse, Style::IfUnlessModifier, Style::IndentationWidth, Style::MultilineIfThen, Style::MultilineTernaryOperator, Style::NestedModifier, Style::NestedTernaryOperator, Style::Next, Style::Not, Style::ParallelAssignment, Style::ParenthesesAroundCondition, Style::SpaceAfterColon, Style::SpaceAroundOperators, Style::TernaryParentheses
- Defined in:
- lib/rubocop/cop/mixin/if_node.rb
Overview
Common functionality for checking if nodes.
Instance Method Summary collapse
- #elsif?(node) ⇒ Boolean
- #if_else?(node) ⇒ Boolean
- #if_node_parts(node) ⇒ Object
- #modifier_if?(node) ⇒ Boolean
- #ternary?(node) ⇒ Boolean
Instance Method Details
#elsif?(node) ⇒ Boolean
17 18 19 20 |
# File 'lib/rubocop/cop/mixin/if_node.rb', line 17 def elsif?(node) node.loc.respond_to?(:keyword) && node.loc.keyword && node.loc.keyword.is?('elsif') end |
#if_else?(node) ⇒ Boolean
22 23 24 |
# File 'lib/rubocop/cop/mixin/if_node.rb', line 22 def if_else?(node) node.loc.respond_to?(:else) && node.loc.else end |
#if_node_parts(node) ⇒ Object
26 27 28 29 30 31 32 33 34 |
# File 'lib/rubocop/cop/mixin/if_node.rb', line 26 def if_node_parts(node) case node.loc.keyword.source when 'if', 'elsif' then condition, body, else_clause = *node when 'unless' then condition, else_clause, body = *node else condition, body = *node end [condition, body, else_clause] end |
#modifier_if?(node) ⇒ Boolean
12 13 14 15 |
# File 'lib/rubocop/cop/mixin/if_node.rb', line 12 def modifier_if?(node) node.loc.respond_to?(:keyword) && %w(if unless).include?(node.loc.keyword.source) && node.modifier_form? end |
#ternary?(node) ⇒ Boolean
8 9 10 |
# File 'lib/rubocop/cop/mixin/if_node.rb', line 8 def ternary?(node) node.loc.respond_to?(:question) end |