lib/ruby_conversations/engine.rb
# frozen_string_literal: true require 'strongmind/auth' module RubyConversations # Defines the Rails engine for RubyConversations. class Engine < ::Rails::Engine config.generators do |g| g.test_framework :rspec end config.autoload_paths += Dir[ root.join('app', 'models', 'concerns', '**', '*.rb'), root.join('app', 'models', '**', '*.rb') ] initializer 'ruby_conversations.zeitwerk' do |_app| Rails.autoloaders.main.push_dir(root.join('app', 'models', 'concerns')) Rails.autoloaders.main.push_dir(root.join('app', 'models')) end initializer 'ruby_conversations.assets' do |app| # Future UI components will be added here end config.to_prepare do Dir.glob(Engine.root.join('app', 'models', 'concerns', 'ruby_conversations', '*.rb')).each do |c| require_dependency(c) end Dir.glob(Engine.root.join('app', 'models', 'ruby_conversations', '*.rb')).each do |m| require_dependency(m) end end initializer 'ruby_conversations.factories', after: 'factory_bot.set_factory_paths' do if defined?(FactoryBot) factory_path = File.expand_path('../../spec/factories', __dir__) FactoryBot.definition_file_paths << factory_path unless FactoryBot.definition_file_paths.include?(factory_path) end end end end