class Ivar::RaisePolicy

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)
  return if unknown_refs.empty?
  # Get the first unknown reference
  ref = unknown_refs.first
  ivar = ref[:name]
  suggestion = find_closest_match(ivar, allowed_ivars)
  suggestion_text = suggestion ? " Did you mean: #{suggestion}?" : ""
  # Raise an exception with location information
  message = "#{ref[:path]}:#{ref[:line]}: unknown instance variable #{ivar}.#{suggestion_text}"
  raise NameError, message
end