Sha256: d326254e9ee402d6ec6db6bf50ee3be5a90b9648d6b9fe658ab09e03d55e7a76
Contents?: true
Size: 1.09 KB
Versions: 2
Compression:
Stored size: 1.09 KB
Contents
# frozen_string_literal: true module RuboCop module Cop module InternalAffairs # Enforces the use of `processed_source.file_path` instead of `processed_source.buffer.name`. # # @example # # # bad # processed_source.buffer.name # # # good # processed_source.file_path # class ProcessedSourceBufferName < Base extend AutoCorrector MSG = 'Use `file_path` instead.' RESTRICT_ON_SEND = %i[name].freeze # @!method processed_source_buffer_name?(node) def_node_matcher :processed_source_buffer_name?, <<~PATTERN (send (send {(lvar :processed_source) (send nil? :processed_source)} :buffer) :name) PATTERN def on_send(node) return unless processed_source_buffer_name?(node) offense_range = node.children.first.loc.selector.begin.join(node.loc.expression.end) add_offense(offense_range) do |corrector| corrector.replace(offense_range, 'file_path') end end end end end end
Version data entries
2 entries across 2 versions & 2 rubygems