class RailsMiniProfiler::Generators::InstallGenerator

A basic installation generator to help set up users apps

Public Instance Methods

install() click to toggle source
# File lib/generators/rails_mini_profiler/install_generator.rb, line 15
def install
  route("mount RailsMiniProfiler::Engine => '/rails_mini_profiler'")
  template 'rails_mini_profiler.rb.erb', 'config/initializers/rails_mini_profiler.rb'
  system('rails rails_mini_profiler:install:migrations')
  webpacker_install if defined?(Webpacker::Engine)
end

Private Instance Methods

webpacker_install() click to toggle source
# File lib/generators/rails_mini_profiler/install_generator.rb, line 24
def webpacker_install
  webpacker_config_file = Rails.root.join('config', 'webpacker.yml')
  unless File.exist?(webpacker_config_file)
    say "Webpacker is not installed. Run 'rails webpacker:install' and rerun installation to complete setup"
    return
  end

  run 'yarn add @rails-mini-profiler/assets'
  webpack_config = YAML.load_file(webpacker_config_file)[Rails.env]
  destination = Rails.root.join(webpack_config['source_path'],
                                webpack_config['source_entry_path'],
                                'rails-mini-profiler.js')
  template('rails_mini_profiler.js.erb', destination)
end