Sha256: e8c66d32dd9822541939c032fd2bd037272389d4218ed2b874654d2095d5b254

Contents?: true

Size: 1.95 KB

Versions: 2

Compression:

Stored size: 1.95 KB

Contents

# requires all dependencies
Gem.loaded_specs['avo'].dependencies.each do |d|
  require d.name
end
require 'view_component/engine'

module Avo
  class Engine < ::Rails::Engine
    isolate_namespace Avo

    config.after_initialize do
      # Boot Avo
      ::Avo::App.boot
    end

    initializer 'avo.autoload', before: :set_autoload_paths do |app|
      Rails.autoloaders.main.push_dir(Rails.root.join('app', 'avo', 'filters'))
      Rails.autoloaders.main.push_dir(Rails.root.join('app', 'avo', 'actions'))
      Rails.autoloaders.main.push_dir(Rails.root.join('app', 'avo', 'resources'))
    end

    initializer 'avo.init_fields' do |app|
      # Init the fields
      ::Avo::App.init_fields
    end

    initializer 'avo.reload_avo_files' do |app|
      if Avo::IN_DEVELOPMENT && ENV['RELOAD_AVO_FILES']
        avo_root_path = Avo::Engine.root.to_s
        # Register reloader
        app.reloaders << app.config.file_watcher.new([], {
          Avo::Engine.root.join('lib', 'avo').to_s => ['rb'],
        }) {}

        # What to do on file change
        config.to_prepare do
          Dir.glob(avo_root_path + '/lib/avo/**/*.rb'.to_s).each { |c| load c }
          Avo::App.boot
        end
      end
    end

    initializer 'webpacker.proxy' do |app|
      app.config.debug_exception_response_format = :api
      # app.config.logger = ::Logger.new(STDOUT)

      insert_middleware = begin
                            Avo.webpacker.config.dev_server.present?
                          rescue
                            nil
                          end

      if insert_middleware
        app.middleware.insert_before(
          0, Webpacker::DevServerProxy,
          ssl_verify_none: true,
          webpacker: Avo.webpacker
        )
      end
    end

    config.app_middleware.use(
      Rack::Static,
      urls: ['/avo-packs'],
      root: Avo::Engine.root.join('public')
    )

    config.generators do |g|
      g.test_framework :rspec, view_specs: false
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
avo-0.5.0.beta9 lib/avo/engine.rb
avo-0.5.0.beta8 lib/avo/engine.rb