Class: IOSIconGenerator::CLI::Commands::Generate

Inherits:
Hanami::CLI::Command
  • Object
show all
Defined in:
lib/ios_icon_generator/cli/commands/generate.rb

Instance Method Summary collapse

Instance Method Details

#call(icon_path:, xcasset_folder:, type:, **options) ⇒ Object



35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/ios_icon_generator/cli/commands/generate.rb', line 35

def call(icon_path:, xcasset_folder:, type:, **options)
  raise "#{'ImageMagick'.blue.bold} is required. It can be installed via #{'homebrew'.bold.underlined} using #{'brew install imagemagick'.blue.bold.underlined}" unless Library.which('magick')

  types = type.map(&:to_sym)

  progress_bar = ProgressBar.create(total: nil)

  parallel_processes = options.fetch(:parallel_processes).to_i
  parallel_processes = nil if parallel_processes == -1
  Helpers.generate_icon(
    icon_path: icon_path,
    output_folder: xcasset_folder,
    types: types,
    parallel_processes: parallel_processes,
    progress: lambda do |progress, total|
      progress_bar.total = total unless progress_bar.total
      progress_bar.increment if progress
    end
  )
  puts "\nCompleted!".green
end