Class: Kaui::InstallGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Defined in:
lib/generators/kaui/install/install_generator.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.source_pathsObject



10
11
12
13
14
15
16
# File 'lib/generators/kaui/install/install_generator.rb', line 10

def self.source_paths
  paths = superclass.source_paths
  paths << File.expand_path('../templates', "../../#{__FILE__}")
  paths << File.expand_path('../templates', "../#{__FILE__}")
  paths << File.expand_path('templates', __dir__)
  paths.flatten
end

Instance Method Details

#add_filesObject



18
19
20
# File 'lib/generators/kaui/install/install_generator.rb', line 18

def add_files
  template 'config/initializers/kaui.rb', 'config/initializers/kaui.rb'
end

#additional_tweaksObject



30
31
32
33
34
35
36
37
# File 'lib/generators/kaui/install/install_generator.rb', line 30

def additional_tweaks
  return unless File.exist? 'public/robots.txt'

  append_file 'public/robots.txt', <<~ROBOTS
    User-agent: *
    Disallow: /kaui
  ROBOTS
end

#completeObject



62
63
64
65
66
67
68
69
# File 'lib/generators/kaui/install/install_generator.rb', line 62

def complete
  return if options[:quiet]

  puts '*' * 50
  puts "Kaui has been installed successfully. You're all ready to go!"
  puts ' '
  puts 'Enjoy!'
end

#config_kaui_ymlObject



22
23
24
25
26
27
28
# File 'lib/generators/kaui/install/install_generator.rb', line 22

def config_kaui_yml
  create_file 'config/kaui.yml' do
    settings = { 'version' => Kaui::VERSION }

    settings.to_yaml
  end
end

#setup_assetsObject



39
40
41
42
43
44
45
46
47
# File 'lib/generators/kaui/install/install_generator.rb', line 39

def setup_assets
  @lib_name = 'kaui'
  %w[javascripts stylesheets images].each do |path|
    empty_directory "app/assets/#{path}/kaui"
  end

  template 'app/assets/javascripts/kaui/all.js'
  template 'app/assets/stylesheets/kaui/all.css'
end

#update_routesObject



49
50
51
52
53
54
55
56
57
58
59
60
# File 'lib/generators/kaui/install/install_generator.rb', line 49

def update_routes
  insert_into_file File.join('config', 'routes.rb'), after: "Application.routes.draw do\n" do
    %(
  # This line mounts Kaui's routes at the root of your application.
  # If you're mounting this engine into an existing application, change it to e.g.
  # mount Kaui::Engine, :at => '/kaui', :as => "kaui_engine"
  #
  # Don't modify the :as => "kaui_engine" option though.
  mount Kaui::Engine, :at => '/', :as => "kaui_engine"
    )
  end
end