Class: Icons::Sync::ProcessVariants
- Inherits:
-
Object
- Object
- Icons::Sync::ProcessVariants
- Defined in:
- lib/icons/sync/process_variants.rb
Instance Method Summary collapse
-
#initialize(temp_directory, name, library) ⇒ ProcessVariants
constructor
A new instance of ProcessVariants.
- #process ⇒ Object
Constructor Details
#initialize(temp_directory, name, library) ⇒ ProcessVariants
Returns a new instance of ProcessVariants.
9 10 11 |
# File 'lib/icons/sync/process_variants.rb', line 9 def initialize(temp_directory, name, library) @temp_directory, @name, @library = temp_directory, name, library end |
Instance Method Details
#process ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/icons/sync/process_variants.rb', line 13 def process original_variants = Dir.children(@temp_directory) excluded_variants = Icons.configuration.libraries.dig(@name.to_sym)&.exclude_variants || [] @library[:variants].each do |variant_name, variant_source_path| next if excluded_variants.include?(variant_name) source = File.join(@temp_directory, variant_source_path) destination = File.join(@temp_directory, variant_name.to_s) original_variants.delete(variant_name.to_s) raise "[Icons] Failed to find the icons directory: '#{source}'" unless Dir.exist?(source) move_icons(source, destination) apply_transformations_to(destination) end remove_files_and_folders_for(original_variants) remove_previously_downloaded(excluded_variants) puts "[Icons] Icon variants processed successfully" end |