Class: Ivar::LogPolicy
Overview
Policy that logs unknown instance variables to a logger
Instance Method Summary collapse
-
#handle_unknown_ivars(unknown_refs, _klass, allowed_ivars) ⇒ Object
Handle unknown instance variables by logging them.
-
#initialize(logger: Logger.new($stderr)) ⇒ LogPolicy
constructor
Initialize with a logger.
Methods inherited from Policy
#find_closest_match, #format_warning
Constructor Details
#initialize(logger: Logger.new($stderr)) ⇒ LogPolicy
Initialize with a logger
99 100 101 |
# File 'lib/ivar/policies.rb', line 99 def initialize(logger: Logger.new($stderr)) @logger = logger end |
Instance Method Details
#handle_unknown_ivars(unknown_refs, _klass, allowed_ivars) ⇒ Object
Handle unknown instance variables by logging them
107 108 109 110 111 112 113 114 115 |
# File 'lib/ivar/policies.rb', line 107 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}?" : "" = "#{ref[:path]}:#{ref[:line]}: unknown instance variable #{ivar}.#{suggestion_text}" @logger.warn() end end |