module RuboCop::Cop::Metrics::Utils::IteratingBlock
Used to identify iterating blocks like ‘.map{}` and `.map(&:…)`
Constants
- KNOWN_ITERATING_METHODS
Public Instance Methods
Source
# File lib/rubocop/cop/metrics/utils/iterating_block.rb, line 37 def block_method_name(node) case node.type when :block node.method_name when :block_pass node.parent.method_name end end
Returns the name of the method called with a block if node is a block node, or a block-pass node.
Source
# File lib/rubocop/cop/metrics/utils/iterating_block.rb, line 53 def iterating_block?(node) name = block_method_name(node) name && iterating_method?(name) end
Returns nil if node is neither a block node or a block-pass node. Otherwise returns true/false if method call is a known iterating call
Source
# File lib/rubocop/cop/metrics/utils/iterating_block.rb, line 47 def iterating_method?(name) KNOWN_ITERATING_METHODS.include? name end
Returns true iff name is a known iterating type (e.g. :each, :transform_values)