Module: Adaline

Extended by:
Forwardable
Defined in:
lib/adaline.rb,
lib/adaline/cli.rb,
lib/adaline/error.rb,
lib/adaline/server.rb,
lib/adaline/version.rb,
lib/adaline/commands/base.rb,
lib/adaline/configuration.rb,
lib/adaline/commands/start.rb,
lib/adaline/commands/version.rb

Defined Under Namespace

Modules: Commands, Version Classes: CLI, Configuration, Error, Server

Constant Summary collapse

VERSION =
Version::STRING

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.loaderObject (readonly)

Code loader instance



18
19
20
# File 'lib/adaline.rb', line 18

def loader
  @loader
end

Class Method Details

.configurationObject

Global configuration



21
22
23
# File 'lib/adaline.rb', line 21

def configuration
  @configuration ||= Configuration.new
end

.configure {|configuration| ... } ⇒ Object

Yields:



45
46
47
# File 'lib/adaline.rb', line 45

def configure
  yield configuration
end

.rootObject



25
26
27
# File 'lib/adaline.rb', line 25

def root
  @root ||= Pathname.new(File.expand_path(File.join("..", ".."), __FILE__))
end

.setupObject



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/adaline.rb', line 29

def setup
  @loader = Zeitwerk::Loader.for_gem(warn_on_extra_files: false)

  # Register inflections
  require root.join("config/inflections.rb")

  # Load initializers
  Dir[root.join("config", "initializers", "*.rb")].each { |f| require f }

  # Collapse concerns directory
  loader.collapse(root.join("lib/adaline/concerns"))

  loader.setup
  loader.eager_load
end