Module: EacRailsUtils::EngineHelper::ClassMethods

Defined in:
lib/eac_rails_utils/engine_helper.rb

Instance Method Summary collapse

Instance Method Details

#append_after_initializers ⇒ Object

Loads "config/after_initializers/.rb" files deferred inside a "Rails.application.config.after_initialize" block, so their code can safely reference Zeitwerk-autoloaded constants (which are only available after the Finisher phase, i.e. too late for regular "config/initializers/.rb" files).



24
25
26
27
28
29
30
# File 'lib/eac_rails_utils/engine_helper.rb', line 24

def append_after_initializers
  initializer :append_after_initializers do |app|
    Dir["#{config.root}/config/after_initializers/*.rb"].each do |file|
      app.config.after_initialize { load file }
    end
  end
end

#append_autoload_paths ⇒ Object



32
33
34
# File 'lib/eac_rails_utils/engine_helper.rb', line 32

def append_autoload_paths
  config.autoload_paths += Dir["#{config.root}/lib"]
end

#append_mailer_preview_paths ⇒ void

This method returns an undefined value.



37
38
39
40
41
42
43
44
# File 'lib/eac_rails_utils/engine_helper.rb', line 37

def append_mailer_preview_paths
  initializer :append_mailer_preview_paths, before: 'action_mailer.set_configs' do |app|
    %w[spec test].each do |test_dir|
      path = config.root.join(test_dir, 'mailers', 'previews')
      (app.config.action_mailer.preview_paths ||= []) << path if path.directory?
    end
  end
end

#append_self_migrations ⇒ Object



46
47
48
49
50
51
52
# File 'lib/eac_rails_utils/engine_helper.rb', line 46

def append_self_migrations
  initializer :append_migrations do |app|
    config.paths['db/migrate'].expanded.each do |expanded_path|
      app.config.paths['db/migrate'] << expanded_path
    end
  end
end

#root_menu ⇒ EacRailsUtils::Menus::Group



55
# File 'lib/eac_rails_utils/engine_helper.rb', line 55

delegate :root_menu, to: :'::EacRailsUtils::EnginesHelper'