Sha256: 128e0f473fdb420b795b29ce95d46419d481d7135adb12f3a7fe72cb1260a3c2

Contents?: true

Size: 1.09 KB

Versions: 8

Compression:

Stored size: 1.09 KB

Contents

# frozen_string_literal: true

require_relative "../../lib/plutonium_generators"

module Pu
  module Core
    class AssetsGenerator < Rails::Generators::Base
      include PlutoniumGenerators::Generator

      source_root File.expand_path("templates", __dir__)

      desc "Setup plutonium assets"

      def start
        install_dependencies
        copy_tailwind_config
        configure_application
      rescue => e
        exception "#{self.class} failed:", e
      end

      private

      def copy_tailwind_config
        copy_file "tailwind.config.js"
      end

      def install_dependencies
        `yarn add @radioactive-labs/plutonium`
        `yarn add flowbite @tailwindcss/forms`
      end

      def configure_application
        insert_into_file "app/javascript/controllers/index.js", <<~EOT

          import { registerControllers } from "@radioactive-labs/plutonium"
          registerControllers(application)
        EOT

        environment "config.plutonium.assets.stylesheet = \"application\""
        environment "config.plutonium.assets.script = \"application\""
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
plutonium-0.14.0 lib/generators/pu/core/assets/assets_generator.rb
plutonium-0.13.3 lib/generators/pu/core/assets/assets_generator.rb
plutonium-0.13.2 lib/generators/pu/core/assets/assets_generator.rb
plutonium-0.13.1 lib/generators/pu/core/assets/assets_generator.rb
plutonium-0.13.0 lib/generators/pu/core/assets/assets_generator.rb
plutonium-0.12.14 lib/generators/pu/core/assets/assets_generator.rb
plutonium-0.12.13 lib/generators/pu/core/assets/assets_generator.rb
plutonium-0.12.12 lib/generators/pu/core/assets/assets_generator.rb