module ZendeskAppsSupport::Validations::Banner

Constants

Public Class Methods

call(package) click to toggle source
# File lib/zendesk_apps_support/validations/banner.rb, line 10
def call(package)
  File.open(package.path_to('assets/banner.png'), 'rb') do |fh|
    begin
      image = ImageSize.new(fh)

      unless image.format == :png
        return [ValidationError.new('banner.invalid_format')]
      end

      unless (image.width == BANNER_WIDTH && image.height == BANNER_HEIGHT) ||
             (image.width == 2 * BANNER_WIDTH && image.height == 2 * BANNER_HEIGHT)
        return [ValidationError.new('banner.invalid_size', required_banner_width: BANNER_WIDTH,
                                                           required_banner_height: BANNER_HEIGHT)]
      end
    rescue
      return [ValidationError.new('banner.invalid_format')]
    end
  end
  []
end