Class: Rolemodel::Optics::IconsGenerator
- Inherits:
-
GeneratorBase
- Object
- Rails::Generators::Base
- GeneratorBase
- Rolemodel::Optics::IconsGenerator
- Defined in:
- lib/generators/rolemodel/optics/icons/icons_generator.rb
Overview
Generates the icon helper and icon builders for the chosen icon library
Constant Summary collapse
- BUILDER_DIR =
'rolemodel/optics'- SUPPORTED_LIBRARIES =
HashWithIndifferentAccess.new( material: 'filled, size, weight, emphasis, additional_classes, color, hover_text', phosphor: 'duotone, filled, size, weight, additional_classes, color, hover_text', tabler: 'filled, size, additional_classes, color, hover_text', feather: 'size, additional_classes, color, hover_text', lucide: 'size, additional_classes, color, hover_text', custom: 'filled, size, weight, emphasis, additional_classes, color, hover_text' ).freeze
Instance Method Summary collapse
Instance Method Details
#add_view_helper ⇒ Object
27 28 29 30 31 32 |
# File 'lib/generators/rolemodel/optics/icons/icons_generator.rb', line 27 def add_view_helper @chosen_library = capture_user_selection @supported_properties = SUPPORTED_LIBRARIES.fetch(@chosen_library) template 'app/helpers/icon_helper.rb', force: true end |
#install_builders ⇒ Object
34 35 36 37 38 39 40 |
# File 'lib/generators/rolemodel/optics/icons/icons_generator.rb', line 34 def install_builders return unless .install_builders? source_paths << File.(BUILDER_DIR, Rolemodel::GEM_LIB) copy_file 'icon_builder.rb', "lib/#{BUILDER_DIR}/icon_builder.rb", force: true copy_file "#{@chosen_library}_icon_builder.rb", "lib/#{BUILDER_DIR}/#{@chosen_library}_icon_builder.rb", force: true end |