Sha256: f979325a08c614ec75404fce0d4dc254b84648b5942f7a3b833f2eda2341b768

Contents?: true

Size: 1.09 KB

Versions: 10

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

        configure_plutonium "config.assets.stylesheet = \"application\""
        configure_plutonium "config.assets.script = \"application\""
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
plutonium-0.15.5 lib/generators/pu/core/assets/assets_generator.rb
plutonium-0.15.4 lib/generators/pu/core/assets/assets_generator.rb
plutonium-0.15.3 lib/generators/pu/core/assets/assets_generator.rb
plutonium-0.15.2 lib/generators/pu/core/assets/assets_generator.rb
plutonium-0.15.1 lib/generators/pu/core/assets/assets_generator.rb
plutonium-0.15.0 lib/generators/pu/core/assets/assets_generator.rb
plutonium-0.15.0.pre.rc3 lib/generators/pu/core/assets/assets_generator.rb
plutonium-0.15.0.pre.rc2 lib/generators/pu/core/assets/assets_generator.rb
plutonium-0.15.0.pre.rc1 lib/generators/pu/core/assets/assets_generator.rb
plutonium-0.14.1 lib/generators/pu/core/assets/assets_generator.rb