Sha256: 764698c2827eafbd421e491112de016e8533b661761bb30908f396e4942184d3
Contents?: true
Size: 1.1 KB
Versions: 2
Compression:
Stored size: 1.1 KB
Contents
if File.exist?("config/app.rb") require "terraspace/bundle" Terraspace::Bundle.setup end require "zeitwerk" module Terraspace # These modules are namespaces for user-defined custom helpers module Module; end module Project; end module Stack; end class Autoloader class Inflector < Zeitwerk::Inflector def camelize(basename, _abspath) map = { cli: "CLI", version: "VERSION" } map[basename.to_sym] || super end end class << self def setup loader = Zeitwerk::Loader.new loader.inflector = Inflector.new loader.push_dir(File.dirname(__dir__)) # lib loader.push_dir(project_helpers, namespace: Terraspace::Project) if File.exist?(project_helpers) loader.log! if ENV["TS_AUTOLOAD_LOG"] loader.ignore("#{__dir__}/ext.rb") loader.setup end def project_helpers "#{ts_root}/config/helpers" end # Duplicate definition because autoloader logic runs very early and doesnt have access to core methods yet def ts_root ENV['TS_ROOT'] || Dir.pwd end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
terraspace-0.5.1 | lib/terraspace/autoloader.rb |
terraspace-0.5.0 | lib/terraspace/autoloader.rb |