Sha256: 24dffca10de3b5a75fb8c7010ee075a4638fc85a355a6c02eb99d3bc4e098c88

Contents?: true

Size: 1.25 KB

Versions: 4

Compression:

Stored size: 1.25 KB

Contents

# frozen_string_literal: true

require "rails"
require "turbo-rails"

module Katalyst
  module Kpop
    class Engine < ::Rails::Engine
      isolate_namespace Katalyst::Kpop
      config.eager_load_namespaces << Katalyst::Kpop
      config.autoload_once_paths = %W(
        #{root}/app/helpers
        #{root}/app/controllers
        #{root}/app/controllers/concerns
      )

      initializer "kpop.assets" do
        config.after_initialize do |app|
          if app.config.respond_to?(:assets)
            app.config.assets.precompile += %w(katalyst-kpop.js)
          end
        end
      end

      initializer "kpop.helpers", before: :load_config_initializers do
        ::Turbo::Streams::TagBuilder.define_method(:kpop) do
          Katalyst::Kpop::Turbo::TagBuilder.new(self)
        end

        ActiveSupport.on_load(:action_controller_base) do
          include Katalyst::Kpop::FrameRequest
          helper Katalyst::Kpop::Engine.helpers
        end
      end

      initializer "kpop.importmap", before: "importmap" do |app|
        if app.config.respond_to?(:importmap)
          app.config.importmap.paths << root.join("config/importmap.rb")
          app.config.importmap.cache_sweepers << root.join("app/assets/builds")
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
katalyst-kpop-3.1.3 lib/katalyst/kpop/engine.rb
katalyst-kpop-3.1.2 lib/katalyst/kpop/engine.rb
katalyst-kpop-3.1.1 lib/katalyst/kpop/engine.rb
katalyst-kpop-3.1.0 lib/katalyst/kpop/engine.rb