Module: Jets::Autoloaders
- Extended by:
- Memoist
- Defined in:
- lib/jets/autoloaders.rb
Defined Under Namespace
Classes: OnceInflector
Class Method Summary collapse
Class Method Details
.log! ⇒ Object
21 22 23 24 |
# File 'lib/jets/autoloaders.rb', line 21 def log! main.log! once.log! end |
.main ⇒ Object
26 27 28 29 30 31 32 33 |
# File 'lib/jets/autoloaders.rb', line 26 def main Zeitwerk::Loader.new.tap do |loader| loader.tag = "jets.main" # loader.inflector = Inflector.new # TODO: allow custom app inflector # The main loader is configured later on in Jets::Application#setup_autoload_paths # because it needs access to Jets.root and Jets.config settings end end |
.once ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/jets/autoloaders.rb', line 36 def once Zeitwerk::Loader.new.tap do |loader| loader.tag = "jets.once" loader.inflector = OnceInflector.new loader.push_dir("#{__dir__}/..") internal_app_paths.each do |path| loader.push_dir("#{__dir__}/#{path}") # Cannot eager load internal app classes because need the app first for classes like ApplicationHelper loader.do_not_eager_load("#{__dir__}/#{path}") end do_not_eager_load_paths.each do |path| loader.do_not_eager_load("#{__dir__}/#{path}") end ignore_paths.each do |path| loader.ignore("#{__dir__}/#{path}") end end end |