Class: FolderGeneratorXcassets

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

Instance Attribute Summary collapse

Attributes inherited from FolderGenerator

#params

Instance Method Summary collapse

Methods inherited from FolderGenerator

#end_download, #format_name, #image_path, #image_set_end_download, #image_start_download

Constructor Details

#initialize(symbols:, params:) ⇒ FolderGeneratorXcassets

Returns a new instance of FolderGeneratorXcassets.



14
15
16
17
# File 'lib/admiral-tools-figma/helper/figma/figma_image_downloader/generators/folder_generator_xcassets.rb', line 14

def initialize(symbols:, params:)
  @symbols = symbols
  super(params: params)
end

Instance Attribute Details

#symbolsObject

Returns the value of attribute symbols.



12
13
14
# File 'lib/admiral-tools-figma/helper/figma/figma_image_downloader/generators/folder_generator_xcassets.rb', line 12

def symbols
  @symbols
end

Instance Method Details

#create_image_sets(image_component:) ⇒ Object



40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/admiral-tools-figma/helper/figma/figma_image_downloader/generators/folder_generator_xcassets.rb', line 40

def create_image_sets(image_component:)
  name_components = format_name(image_component: image_component)
  name = name_components.name
  extension = symbols ? 'symbolset' : 'imageset'
  folder = File.join(name_components.folder, "#{name}.#{extension}")

  image_links = image_component.image_links
  single_scale = image_component.single_scale?

  image_refs = image_links.map do |i|
    file_name = image_path(group_name: name, image_link: i, single_scale: single_scale)
    item_path = File.join(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

#image_end_download(image:) ⇒ Object



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

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

#image_set_start_download(image_set:) ⇒ Object



23
24
25
26
27
28
29
30
31
# File 'lib/admiral-tools-figma/helper/figma/figma_image_downloader/generators/folder_generator_xcassets.rb', line 23

def image_set_start_download(image_set:)
  create_recursive_asset_contnet_json(folder: image_set.folder)

  if symbols
    create_symbolset_content_json(image_set: image_set)
  else
    create_imageset_content_json(image_set: image_set)
  end
end

#start_download(image_sets:) ⇒ Object



19
20
21
# File 'lib/admiral-tools-figma/helper/figma/figma_image_downloader/generators/folder_generator_xcassets.rb', line 19

def start_download(image_sets:)
  create_root_content_json(folder: params.output_folder)
end