Sha256: 558a6c8fef7a2afa880febd6df77eb0568e7027014e89acaa3c644282f471af7

Contents?: true

Size: 730 Bytes

Versions: 9

Compression:

Stored size: 730 Bytes

Contents

# frozen_string_literal: true

module AnnotateRb
  # Not sure what this does just yet
  class EagerLoader
    class << self
      def call(options)
        options[:require].count > 0 && options[:require].each { |path| require path }

        if defined?(::Rails::Application)
          if defined?(::Zeitwerk)
            # Delegate to Zeitwerk to load stuff as needed
          else
            klass = ::Rails::Application.send(:subclasses).first
            klass.eager_load!
          end
        else
          options[:model_dir].each do |dir|
            ::Rake::FileList["#{dir}/**/*.rb"].each do |fname|
              require File.expand_path(fname)
            end
          end
        end
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
annotaterb-4.13.0 lib/annotate_rb/eager_loader.rb
annotaterb-4.12.0 lib/annotate_rb/eager_loader.rb
annotaterb-4.11.0 lib/annotate_rb/eager_loader.rb
annotaterb-4.10.2 lib/annotate_rb/eager_loader.rb
annotaterb-4.10.1 lib/annotate_rb/eager_loader.rb
annotaterb-4.10.0 lib/annotate_rb/eager_loader.rb
annotaterb-4.9.0 lib/annotate_rb/eager_loader.rb
annotaterb-4.7.0 lib/annotate_rb/eager_loader.rb
annotaterb-4.6.0 lib/annotate_rb/eager_loader.rb