class Ivar::LogPolicy

Policy that logs unknown instance variables to a logger

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)
  unknown_refs.each do |ref|
    ivar = ref[:name]
    suggestion = find_closest_match(ivar, allowed_ivars)
    suggestion_text = suggestion ? " Did you mean: #{suggestion}?" : ""
    message = "#{ref[:path]}:#{ref[:line]}: unknown instance variable #{ivar}.#{suggestion_text}"
    @logger.warn(message)
  end
end

def initialize(logger: Logger.new($stderr))

Parameters:
  • logger (Logger) -- The logger to use
def initialize(logger: Logger.new($stderr))
  @logger = logger
end