UNC-Libraries/hy-c

View on GitHub
app/overrides/lib/mini_magick/image/info_override.rb

Summary

Maintainability
A
0 mins
Test Coverage
A
100%
# frozen_string_literal: true
# [hyc-override] https://github.com/minimagick/minimagick/blob/v4.12.0/lib/mini_magick/image/info.rb
MiniMagick::Image::Info.class_eval do
  def parse_warnings(raw_info)
    return raw_info unless raw_info.split("\n").size > 1

    raw_info.split("\n").each do |line|
      # must match "%m %w %h %b"
      puts "Processing line: #{line}"
      if line.match?(/^[A-Z]+ \d+ \d+ \d+(|\.\d+)([KMGTPEZY]{0,1})B$/)
        return line
      elsif line.include?('Warning')
        puts "WARNING line: #{line}"
        # [hyc-override] Display warnings at info level
        Rails.logger.info "Warning logged for image: #{line}"
      else
        puts "ERROR line: #{line}"
        # [hyc-override] Display errors at warn level
        Rails.logger.warn("Error logged for image: #{line}")
      end
    end
    raise TypeError
  end
end