Method: Finitio::System#check_and_warn

Defined in:
lib/finitio/system.rb

#check_and_warn(logger = nil) ⇒ Object



99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
# File 'lib/finitio/system.rb', line 99

def check_and_warn(logger = nil)
  logger ||= begin
    require 'logger'
    Logger.new(STDERR)
  end
  each_type do |t|
    next unless t.named?
    each_import do |i|
      next unless found = i.get_type(t.name)
      if found == t
        logger.info "Duplicate type def `#{t.name}`"
        break
      else
        logger.warn "Type erasure `#{t.name}`"
        break
      end
    end
  end
  self
end