Sha256: 3ee62a8d02d260a52c95a2a8b11b2e7e39677a5b5b3be78f258fd82fffd75eeb

Contents?: true

Size: 969 Bytes

Versions: 2

Compression:

Stored size: 969 Bytes

Contents

require "zeitwerk"

module Kingsman
  class Autoloader
    class Inflector < Zeitwerk::Inflector
      def camelize(basename, _abspath)
        map = { cli: "CLI", version: "VERSION", omniauth: "OmniAuth" }
        map[basename.to_sym] || super
      end
    end

    class << self
      def setup
        loader = Zeitwerk::Loader.new
        loader.inflector = Inflector.new
        lib = File.dirname(__dir__)
        loader.push_dir(lib) # lib
        loader.do_not_eager_load("#{lib}/generators")
        loader.do_not_eager_load("#{lib}/kingsman/models/omniauthable.rb")
        loader.ignore("#{lib}/kingsman/omniauth.rb")
        loader.ignore("#{lib}/kingsman/hooks")
        loader.ignore("#{lib}/kingsman/jets.rb")
        loader.ignore("#{lib}/kingsman/jets")
        loader.ignore("#{lib}/kingsman/modules.rb")
        loader.ignore("#{lib}/kingsman/orm")
        loader.ignore("#{lib}/kingsman/routes.rb")
        loader.setup
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
kingsman-0.1.1 lib/kingsman/autoloader.rb
kingsman-0.1.0 lib/kingsman/autoloader.rb