class Ivar::RaisePolicy
Policy that raises an exception for unknown instance variables
def handle_unknown_ivars(unknown_refs, _klass, allowed_ivars)
-
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