class Devpack::Initializers

Loads requested initializers from configuration

Public Class Methods

new(config) click to toggle source
# File lib/devpack/initializers.rb, line 8
def initialize(config)
  @config = config
end

Public Instance Methods

load() click to toggle source
# File lib/devpack/initializers.rb, line 12
def load
  initializers, time = timed { load_initializers }
  path = @config.devpack_initializers_path
  return if path.nil?

  args = path, initializers, time.round(2)
  Devpack.warn(:success, Messages.loaded_initializers(*args))
end

Private Instance Methods

load_initializer(path) click to toggle source
# File lib/devpack/initializers.rb, line 27
def load_initializer(path)
  require path
rescue ScriptError, StandardError => e
  Devpack.warn(:error, Messages.initializer_failure(path, message(e)))
  nil
end
load_initializers() click to toggle source
# File lib/devpack/initializers.rb, line 23
def load_initializers
  @config.devpack_initializer_paths.map { |path| load_initializer(path) }
end
message(error) click to toggle source
# File lib/devpack/initializers.rb, line 34
def message(error)
  return "(#{error.class.name} - #{error.message&.split("\n")&.first})" unless Devpack.debug?

  %[(#{error.class.name})\n#{error.message}\n#{error.backtrace.join("\n")}]
end