Class: UikitRails::Generators::AddGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Defined in:
lib/uikit_rails/generators/add_generator.rb

Overview

Copies individual UI components into the host Rails application.

Instance Method Summary collapse

Instance Method Details

#copy_componentsObject



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

def copy_components
  names = options[:all] ? UikitRails::COMPONENTS : components
  if names.empty?
    say_status :error, "Specify components or use --all", :red
    say "Usage: rails generate uikit_rails:add button card input"
    say "       rails generate uikit_rails:add --all"
    return
  end
  @installing_multiple = names.size > 1
  names.each { |name| copy_component(name) }
  print_summary(names) if @installing_multiple
end

#verify_installationObject

Raises:



16
17
18
19
20
# File 'lib/uikit_rails/generators/add_generator.rb', line 16

def verify_installation
  return if File.exist?(File.join(destination_root, "app/components/ui/base_component.rb"))

  raise Error, "UikitRails is not installed. Run `rails generate uikit_rails:install` first."
end