class Adminterface::Generators::WebpackerGenerator

Public Instance Methods

install_assets() click to toggle source
# File lib/generators/adminterface/webpacker/webpacker_generator.rb, line 37
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"
end
install_packages() click to toggle source
# File lib/generators/adminterface/webpacker/webpacker_generator.rb, line 24
      def install_packages
        insert_into_file "config/webpack/environment.js", after: /require\(('|")@rails\/webpacker\1\);?\n/ do
          <<~EOF

            environment.loaders.get('sass').use.splice(-1, 0, {
              loader: 'resolve-url-loader'
            })
          EOF
        end

        run "yarn add @cmdbrew/adminterface@#{npm_version}"
      end
install_webpacker() click to toggle source
# File lib/generators/adminterface/webpacker/webpacker_generator.rb, line 11
def install_webpacker
  return if webpacker_installed?

  puts Rainbow("Adminterface requires webpacker:").yellow
  if yes?("Install webpacker and continue?")
    gem "webpacker"
    rails_command "webpacker:install"
  else
    puts Rainbow("Installation aborted").red
    abort
  end
end
remove_activeadmin_dependencies() click to toggle source
# File lib/generators/adminterface/webpacker/webpacker_generator.rb, line 47
def remove_activeadmin_dependencies
  run "yarn remove @activeadmin/activeadmin"
  remove_file "config/webpack/plugins/jquery.js"
  gsub_file "config/webpack/environment.js", "environment.plugins.prepend('jquery', jquery)\n", ""
  gsub_file "config/webpack/environment.js", "const jquery = require('./plugins/jquery')\n", ""
end
show_readme() click to toggle source
# File lib/generators/adminterface/webpacker/webpacker_generator.rb, line 54
def show_readme
  readme "README" if behavior == :invoke
end
update_active_admin_configs() click to toggle source
# File lib/generators/adminterface/webpacker/webpacker_generator.rb, line 43
def update_active_admin_configs
  gsub_file "config/initializers/active_admin.rb", "# config.use_webpacker = true", "config.use_webpacker = true"
end

Private Instance Methods

npm_version() click to toggle source
# File lib/generators/adminterface/webpacker/webpacker_generator.rb, line 64
def npm_version
  options[:version].gsub(".rc", "-rc")
end
webpacker_installed?() click to toggle source
# File lib/generators/adminterface/webpacker/webpacker_generator.rb, line 60
def webpacker_installed?
  defined?(Webpacker)
end