Class: RailsIcons::InitializerGenerator

Inherits:
BaseGenerator
  • Object
show all
Defined in:
lib/generators/rails_icons/initializer_generator.rb

Instance Method Summary collapse

Methods inherited from BaseGenerator

#initialize

Constructor Details

This class inherits a constructor from RailsIcons::BaseGenerator

Instance Method Details

#copy_initializerObject



15
16
17
18
19
# File 'lib/generators/rails_icons/initializer_generator.rb', line 15

def copy_initializer
  return if File.exist?(INITIALIZER)

  copy_file "initializer.rb", INITIALIZER
end

#insert_custom_destination_pathObject



35
36
37
38
39
40
41
42
43
# File 'lib/generators/rails_icons/initializer_generator.rb', line 35

def insert_custom_destination_path
  return if options[:destination] && options[:destination] == RailsIcons.configuration.destination_path

  insert_into_file INITIALIZER, <<~RB.indent(2), after: "RailsIcons.configure do |config|\n"
    # Default destination path
    config.destination_path = "#{options[:destination]}"

  RB
end

#insert_default_configurationObject



21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/generators/rails_icons/initializer_generator.rb', line 21

def insert_default_configuration
  return unless File.exist?(INITIALIZER)
  return if default_configuration_exists?

  if libraries.present?
    default_configuration = <<~RB.indent(2)
      config.default_library = "#{libraries.first}"
      # config.default_variant = "" # Set a default variant for all libraries
    RB

    insert_into_file INITIALIZER, default_configuration, after: "RailsIcons.configure do |config|\n"
  end
end

#insert_libraries_configurationObject



45
46
47
# File 'lib/generators/rails_icons/initializer_generator.rb', line 45

def insert_libraries_configuration
  insert_into_file INITIALIZER, "\n#{library_configuration}", before: "end"
end

#setup_custom_configurationObject



49
50
51
52
53
54
# File 'lib/generators/rails_icons/initializer_generator.rb', line 49

def setup_custom_configuration
  return if options[:custom].blank?

  insert_custom_configuration
  create_custom_directory
end