Sha256: 88f9c8eaa9adf722232c2f3b51700c22315330326c9ae980b11ba5a0f1d66498

Contents?: true

Size: 1.11 KB

Versions: 4

Compression:

Stored size: 1.11 KB

Contents

require "rails/engine"
require "view_component"
require "turbo-rails"

module Coco
  class Engine < ::Rails::Engine
    isolate_namespace Coco

    COLLAPSE_DIRS = %w[shared]

    config.autoload_paths += %W[
      #{root}/app/components
      #{root}/app/helpers
    ]

    initializer "coco.autoloading" do |app|
      coco_dir = "#{root}/app/components/coco"

      app.autoloaders.each do |autoloader|
        COLLAPSE_DIRS.each do |path|
          autoloader.collapse("#{coco_dir}/#{path}")
        end

        Dir.glob("#{coco_dir}/shared/**/*.rb").each do |path|
          autoloader.collapse(File.dirname(path))
        end

        Dir.glob("#{coco_dir}/{app,book}/{blocks,elements,layouts}/**/*.rb").each do |path|
          autoloader.collapse(File.dirname(path))
        end
      end

      if Rails.env.production?
        Rails.application.config.to_prepare do
          Rails.autoloaders.main.eager_load_dir(coco_dir)
        end
      end
    end

    initializer "coco.assets" do |app|
      if app.config.respond_to?(:assets)
        app.config.assets.precompile += %w[coco/manifest.js *.svg]
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
coveragebook_components-0.11.0 lib/coco/engine.rb
coveragebook_components-0.10.1.beta.2 lib/coco/engine.rb
coveragebook_components-0.10.1.beta.1 lib/coco/engine.rb
coveragebook_components-0.10.1.beta.0 lib/coco/engine.rb