Thursday, September 19, 2024 9:07:32 PM
> settings

Customize


Authenticate

> pre_init.rb
# frozen_string_literal: true

ENV["ESM_ENV"] = "test"
ENV["RAILS_ENV"] = "test"

require "bundler/setup"
require "awesome_print"
require "colorize"
require "database_cleaner/active_record"
require "esm"
require "factory_bot"
require "faker"
require "hashids"
require "neatjson"
require "pry"
require "rspec/expectations"
require "rspec/wait"
require "timecop"

# Load the spec related files
require_relative "methods"

# Files that have to be loaded before ESM
Dir["#{__dir__}/support/pre_load/**/*.rb"]
  .sort
  .each { |extension| require extension }

# Load the rest of our support files
ESM.loader.tap do |loader|
  loader.push_dir(ESM.root.join("spec", "support"))
  loader.collapse(ESM.root.join("spec", "support", "additions"))

  # Handled by FactoryBot
  loader.ignore(ESM.root.join("spec", "support", "factories"))

  # Loaded below
  loader.ignore(ESM.root.join("spec", "support", "spec_*"))
  loader.ignore(ESM.root.join("spec", "support", "extensions"))
end

ESM.load!

# Spec related files
Dir[ESM.root.join("spec", "support", "spec_*", "**", "*.rb")]
  .sort
  .each { |extension| require extension }

# ESM overrides and other support files
Dir[ESM.root.join("spec", "support", "extensions", "**", "*.rb")]
  .sort
  .each { |extension| require extension }

# Load the commands after they've been auto-loaded
ESM::Command.load

ESM.logger.level =
  case LOG_LEVEL
  when :trace
    Logger::TRACE
  when :debug
    Logger::DEBUG
  when :info
    Logger::INFO
  when :warn
    Logger::WARN
  when :error
    Logger::ERROR
  else
    Logger::UNKNOWN
  end

# Enable discordrb logging
Discordrb::LOGGER.debug = false

# Ignore debug messages when running tests
ActiveRecord::Base.logger.level = Logger::INFO if ActiveRecord::Base.logger.present?

RSpec::Matchers.define_negated_matcher :exclude, :include
All opinions represented herein are my own
- © 2024 itsthedevman
- build 3c15a1b