Sha256: 02301447de5ae3cd7d9ed96124975561ab2457a983926be51ba98a99726d2b10
Contents?: true
Size: 803 Bytes
Versions: 42
Compression:
Stored size: 803 Bytes
Contents
# frozen_string_literal: true module RuboCop module Cop # Common functionality for checking def nodes. module DefNode extend NodePattern::Macros NON_PUBLIC_MODIFIERS = %w[private protected].freeze private def non_public?(node) non_public_modifier?(node.parent) || preceding_non_public_modifier?(node) end def preceding_non_public_modifier?(node) stripped_source_upto(node.first_line).any? { |line| NON_PUBLIC_MODIFIERS.include?(line) } end def stripped_source_upto(index) processed_source[0..index].map(&:strip) end # @!method non_public_modifier?(node) def_node_matcher :non_public_modifier?, <<~PATTERN (send nil? {:private :protected} ({def defs} ...)) PATTERN end end end
Version data entries
42 entries across 42 versions & 6 rubygems