Class: RailsIcons::Sync::ProcessVariants
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- RailsIcons::Sync::ProcessVariants
- Defined in:
- lib/rails_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.
11 12 13 |
# File 'lib/rails_icons/sync/process_variants.rb', line 11 def initialize(temp_directory, name, library) @temp_directory, @name, @library = temp_directory, name, library end |
Instance Method Details
#process ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/rails_icons/sync/process_variants.rb', line 15 def process original_variants = Dir.children(@temp_directory) excluded_variants = RailsIcons.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 "[Rails 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) say "[Rails Icons] Icon variants processed successfully" end |