Class: FolderGeneratorRes

Inherits:
FolderGenerator show all
Defined in:
lib/admiral-tools-figma/helper/figma/figma_image_downloader/generators/folder_generator_res.rb

Instance Attribute Summary

Attributes inherited from FolderGenerator

#params

Instance Method Summary collapse

Methods inherited from FolderGenerator

#end_download, #format_name, #image_path, #image_set_end_download, #image_set_start_download, #image_start_download, #initialize, #start_download

Constructor Details

This class inherits a constructor from FolderGenerator

Instance Method Details

#create_image_sets(image_component:) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/admiral-tools-figma/helper/figma/figma_image_downloader/generators/folder_generator_res.rb', line 9

def create_image_sets(image_component:)
  name_components = format_name(image_component: image_component)
  name = name_components.name
  folder = name_components.folder

  image_links = image_component.image_links
  single_scale = image_component.single_scale?

  image_refs = image_links.map do |i|
    file_name = "#{name}.#{i.image_format}"
    scale_folder = folder_for_scale(scale: i.scale, single_scale: single_scale)
    item_path = File.join(folder, scale_folder, file_name)
    ImageRef.new(path: item_path, image_link: i)
  end

  ImageSetRef.new(name: name, folder: folder, image_refs: image_refs, single_scale: single_scale)
end

#folder_for_scale(scale:, single_scale:) ⇒ Object



27
28
29
30
# File 'lib/admiral-tools-figma/helper/figma/figma_image_downloader/generators/folder_generator_res.rb', line 27

def folder_for_scale(scale:, single_scale:)
  dpi = ScaleFormatter.new.dpi_from_scale(scale)
  !single_scale && !dpi.nil? ? "drawable-#{dpi}" : 'drawable'
end

#image_end_download(image:) ⇒ Object



32
33
34
35
36
37
# File 'lib/admiral-tools-figma/helper/figma/figma_image_downloader/generators/folder_generator_res.rb', line 32

def image_end_download(image:)
  return unless params.convert_svg_to_vector

  input_file = File.join(params.output_folder, image.path)
  SvtToVectorConverter.new.convert(input_file: input_file)
end