Class: ActiveAdmin::Generators::WebpackerGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Defined in:
lib/generators/active_admin/webpacker/webpacker_generator.rb

Instance Method Summary collapse

Instance Method Details

#install_assetsObject


7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/generators/active_admin/webpacker/webpacker_generator.rb', line 7

def install_assets
  template 'active_admin.js', 'app/javascript/packs/active_admin.js'
  template "active_admin.scss", "app/javascript/stylesheets/active_admin.scss"
  template 'print.scss', 'app/javascript/packs/active_admin/print.scss'

  copy_file "#{__dir__}/plugins/jquery.js", Rails.root.join("config/webpack/plugins/jquery.js").to_s

  insert_into_file Rails.root.join("config/webpack/environment.js").to_s,
    "const jquery = require('./plugins/jquery')\n",
    after: /require\(('|")@rails\/webpacker\1\);?\n/

  insert_into_file Rails.root.join("config/webpack/environment.js").to_s,
    "environment.plugins.prepend('jquery', jquery)\n",
    before: "module.exports"

  run "yarn add @activeadmin/activeadmin"
end