diff --git a/Gemfile.lock b/Gemfile.lock index 6e89bcf..eabaffa 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -5,6 +5,7 @@ PATH bunny concurrent-ruby multi_json + thor zeitwerk GEM @@ -92,6 +93,7 @@ GEM standard-performance (1.4.0) lint_roller (~> 1.1) rubocop-performance (~> 1.21.0) + thor (1.3.2) unicode-display_width (2.6.0) webmock (3.24.0) addressable (>= 2.8.0) diff --git a/lepus.gemspec b/lepus.gemspec index a6a7001..338e2ab 100644 --- a/lepus.gemspec +++ b/lepus.gemspec @@ -37,6 +37,7 @@ Gem::Specification.new do |spec| spec.require_paths = ["lib"] spec.add_dependency "bunny", ">= 0.0.0" + spec.add_dependency "thor", ">= 0.0.0" spec.add_dependency "zeitwerk", ">= 0.0.0" spec.add_dependency "concurrent-ruby", ">= 0.0.0" spec.add_dependency "multi_json", ">= 0.0.0" diff --git a/lib/lepus.rb b/lib/lepus.rb index abf925c..2afe342 100644 --- a/lib/lepus.rb +++ b/lib/lepus.rb @@ -12,6 +12,19 @@ require "yaml" require "zeitwerk" +loader = Zeitwerk::Loader.for_gem(warn_on_extra_files: false) +loader.inflector.inflect "json" => "JSON" +loader.inflector.inflect "cli" => "CLI" +loader.collapse("#{__dir__}/lepus/rails.rb") +loader.collapse("#{__dir__}/lepus/rails/*") +loader.ignore("#{__dir__}/puma") +loader.ignore("#{__dir__}/lepus/rails") +loader.ignore("#{__dir__}/lepus/rails.rb") +loader.ignore("#{__dir__}/lepus/cli.rb") +loader.ignore("#{__dir__}/lepus/middlewares") +loader.log! if ENV["DEBUG"] +loader.setup + module Lepus DEFAULT_LOGGER = Logger.new($stdout) @@ -65,20 +78,6 @@ def initialize(last_heartbeat_at) extend self - def loader - @loader ||= Zeitwerk::Loader.for_gem(warn_on_extra_files: false).tap do |loader| - loader.inflector.inflect "json" => "JSON" - loader.inflector.inflect "cli" => "CLI" - loader.collapse("#{__dir__}/rails/railtie") - loader.collapse("#{__dir__}/rails/log_subscriber") - # loader.ignore("#{__dir__}/rails") - loader.ignore("#{__dir__}/puma") - loader.ignore("#{__dir__}/cli") - loader.ignore("#{__dir__}/middlewares") - loader.log! if ENV["DEBUG"] - end - end - def logger @logger ||= DEFAULT_LOGGER end @@ -113,10 +112,10 @@ def self.config def self.configure yield config end - - loader.setup end if defined?(::Rails) require_relative "lepus/rails" end + +# loader.eager_load diff --git a/lib/lepus/rails/railtie.rb b/lib/lepus/rails/railtie.rb index b3e2a1b..4cb42b7 100644 --- a/lib/lepus/rails/railtie.rb +++ b/lib/lepus/rails/railtie.rb @@ -1,7 +1,5 @@ # frozen_string_literal: true -require_relative "log_subscriber" - module Lepus class Railtie < ::Rails::Railtie config.lepus = ActiveSupport::OrderedOptions.new diff --git a/lib/lepus/puma/plugin/lepus.rb b/lib/puma/plugin/lepus.rb similarity index 100% rename from lib/lepus/puma/plugin/lepus.rb rename to lib/puma/plugin/lepus.rb