class Ivar::WarnOncePolicy

Policy that warns about unknown instance variables only once per class

def handle_unknown_ivars(unknown_refs, klass, allowed_ivars)

Parameters:
  • allowed_ivars (Array) -- List of allowed instance variables
  • klass (Class) -- The class being checked
  • unknown_refs (Array) -- References to unknown instance variables
def handle_unknown_ivars(unknown_refs, klass, allowed_ivars)
  # Skip if this class has already been checked
  return if Ivar.class_checked?(klass)
  # Emit warnings
  unknown_refs.each do |ref|
    ivar = ref[:name]
    suggestion = find_closest_match(ivar, allowed_ivars)
    $stderr.write(format_warning(ref, suggestion))
  end
  # Mark this class as having been checked
  Ivar.mark_class_checked(klass)
end