class Fastlane::Helper::AppiconHelper
Public Class Methods
check_input_image_size(image, width, height)
click to toggle source
# File lib/fastlane/plugin/appicon/helper/appicon_helper.rb, line 6 def self.check_input_image_size(image, width, height) UI.user_error!("Minimum width of input image should be #{width}") if image.width < width UI.user_error!("Minimum height of input image should be #{height}") if image.height < height UI.user_error!("Input image should be square") if image.width / image.height != width / height end
get_needed_icons(devices, needed_icons, is_android = false, custom_sizes = {})
click to toggle source
# File lib/fastlane/plugin/appicon/helper/appicon_helper.rb, line 26 def self.get_needed_icons(devices, needed_icons, is_android = false, custom_sizes = {}) icons = [] devices.each do |device| needed_icons[device].each do |scale, sizes| sizes.each do |size| if size.kind_of?(Array) size, role, subtype = size end if is_android width, height = size.split('x').map { |v| v.to_f } else multiple = device.match(/universal/) ? 1 : scale.to_i width, height = size.split('x').map { |v| v.to_f * multiple } end icons << { 'width' => width, 'height' => height, 'size' => size, 'device' => device.to_s.gsub('_', '-'), 'scale' => scale, 'role' => role, 'subtype' => subtype } end end end # Add custom icon sizes (probably for notifications) custom_sizes.each do |path, size| path = path.to_s width, height = size.split('x').map { |v| v.to_f } icons << { 'width' => width, 'height' => height, 'size' => size, 'basepath' => File.dirname(path), 'filename' => File.basename(path) } end # Sort from the largest to the smallest needed icon icons = icons.sort_by {|value| value['width']} .reverse end
set_cli(minimagick_cli)
click to toggle source
# File lib/fastlane/plugin/appicon/helper/appicon_helper.rb, line 12 def self.set_cli(minimagick_cli) MiniMagick.configure do |config| case minimagick_cli when "graphicsmagick" config.cli = :graphicsmagick when "imagemagick" config.cli = :imagemagick else config.cli = MiniMagick.cli() end config.timeout = 5 end end