Class: FigmaImageDownloader

Inherits:
Object
  • Object
show all
Defined in:
lib/admiral-tools-figma/helper/figma/figma_image_downloader/figma_image_downloader.rb

Constant Summary collapse

OUTPUT_FORMAT_RAW =
'raw'
OUTPUT_FORMAT_RES =
'res'
OUTPUT_FORMAT_XCASSETS =
'xcassets'
OUTPUT_FORMAT_XCASSETS_SYMOBLS =
'xcassets-symbols'
XCASSETS_TEMPLATE_RENDERING_INTENT_ORIGINAL =
'original'
XCASSETS_TEMPLATE_RENDERING_INTENT_TEMPLATE =
'template'

Instance Method Summary collapse

Instance Method Details

#download_images(params:) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/admiral-tools-figma/helper/figma/figma_image_downloader/figma_image_downloader.rb', line 16

def download_images(params:)
  generator = generator(params: params)

  image_set_refs = params.image_components.map { |c| generator.create_image_sets(image_component: c) }
  total_count = image_set_refs.map(&:image_refs).flatten.length

  logger = ProgressTasksLogger.new(total_count: total_count)
  puts("Start downloading #{total_count}")
  generator.start_download(image_sets: image_set_refs)
  image_set_refs.each do |image_set|
    puts("Image set: #{image_set.name}")
    generator.image_set_start_download(image_set: image_set)
    image_set.image_refs.each do |image|
      generator.image_start_download(image: image)
      download_task(task: image, output_folder: params.output_folder)
      logger.increment
      puts("#{logger.progress_string} #{image.path} #{image.image_link.link}")
      generator.image_end_download(image: image)
    end
    generator.image_set_end_download(image_set: image_set)
  end
  puts("\nDownloading complete! #{logger.progress_string}")
  generator.end_download(image_sets: image_set_refs)
end