Sha256: 285c689112b38858cc68f0c26a2853828fd723edd6f20ddaa4936cf2e1e471fe
Contents?: true
Size: 1.06 KB
Versions: 6786
Compression:
Stored size: 1.06 KB
Contents
# frozen_string_literal: true module RuboCop module Cop module Style # This cop checks for the presence of `method_missing` without also # defining `respond_to_missing?`. # # @example # #bad # def method_missing(name, *args) # # ... # end # # #good # def respond_to_missing?(name, include_private) # # ... # end # # def method_missing(name, *args) # # ... # end # class MissingRespondToMissing < Cop MSG = 'When using `method_missing`, define `respond_to_missing?`.'.freeze def on_def(node) return unless node.method?(:method_missing) return if implements_respond_to_missing?(node) add_offense(node) end alias on_defs on_def private def implements_respond_to_missing?(node) node.parent.each_child_node(node.type).any? do |sibling| sibling.method?(:respond_to_missing?) end end end end end end
Version data entries
6,786 entries across 6,780 versions & 25 rubygems