Sha256: 9dbdb92e29279f524e8f2932ebfce715316c8bec8a6bf3caf7cb2cbfe86d38f8
Contents?: true
Size: 1.01 KB
Versions: 1
Compression:
Stored size: 1.01 KB
Contents
# encoding: utf-8 # frozen_string_literal: true module RuboCop module Cop # Common functionality for checking assignment nodes. module CheckAssignment Util::ASGN_NODES.each do |type| define_method("on_#{type}") do |node| check_assignment(node, extract_rhs(node)) end end def on_send(node) # we only want to indent relative to the receiver # when the method called looks like a setter return unless node.asgn_method_call? # This will match if, case, begin, blocks, etc. rhs = extract_rhs(node) check_assignment(node, rhs) if rhs.is_a?(AST::Node) end private def extract_rhs(node) if node.casgn_type? _scope, _lhs, rhs = *node elsif node.op_asgn_type? _lhs, _op, rhs = *node elsif Util::ASGN_NODES.include?(node.type) _lhs, rhs = *node elsif node.send_type? rhs = node.children.last end rhs end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rubocop-0.36.0 | lib/rubocop/cop/mixin/check_assignment.rb |