stimpack 1.0.0.alpha1 → 1.0.0.alpha6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/stimpack.rb +6 -34
- data/lib/stimpack/integrations.rb +2 -3
- data/lib/stimpack/integrations/factory_bot.rb +3 -3
- data/lib/stimpack/integrations/rails.rb +30 -0
- data/lib/stimpack/integrations/rspec.rb +2 -2
- data/lib/stimpack/pack.rb +51 -0
- data/lib/stimpack/pack/configuration.rb +25 -0
- data/lib/stimpack/packs.rb +19 -19
- data/lib/stimpack/railtie.rb +2 -6
- data/lib/stimpack/stim.rb +17 -14
- data/lib/stimpack/version.rb +1 -1
- metadata +8 -13
- data/lib/stimpack/autoloaders.rb +0 -11
- data/lib/stimpack/instance.rb +0 -14
- data/lib/stimpack/kernel.rb +0 -11
- data/lib/stimpack/package.rb +0 -14
- data/lib/stimpack/packages.rb +0 -35
- data/lib/stimpack/require.rb +0 -47
- data/lib/stimpack/settings.rb +0 -40
- data/lib/stimpack/zeitwerk_proxy.rb +0 -24
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f7e4f58a5817580fd238b6a209d51565f992d7c39ade6003338d168c2a52235b
|
4
|
+
data.tar.gz: 372c732e00ab4fb1c301e8c44ff483954c8fd9864166712e9a42dff124d9bfb8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 03fbcedb9c236fe384c124a7ca8f923a1717862d648f134a5954960136b33e2297b2c803e7335af22fe0cc8212e8420cdac1131618c5abfdb353975550e96c3c
|
7
|
+
data.tar.gz: 107de7c60b5dc14f02196bc04df5ea933122038a0fae17fac9a144ecfc9b0e22a3ede60cd28699061475771bcc056bf3c26b9df7620b47b7a2d54022e9c28f8d
|
data/lib/stimpack.rb
CHANGED
@@ -5,54 +5,26 @@ module Stimpack
|
|
5
5
|
extend ActiveSupport::Autoload
|
6
6
|
|
7
7
|
autoload :Integrations
|
8
|
-
autoload :
|
8
|
+
autoload :Pack
|
9
9
|
autoload :Packs
|
10
|
-
autoload :Settings
|
11
|
-
autoload :Stim
|
12
10
|
autoload :Railtie
|
13
|
-
autoload :
|
14
|
-
autoload :ZeitwerkProxy
|
11
|
+
autoload :Stim
|
15
12
|
|
16
13
|
class Error < StandardError; end
|
17
14
|
|
18
15
|
class << self
|
19
|
-
def
|
20
|
-
@started = @started ? return : true
|
21
|
-
|
22
|
-
# Override Rails' autoloader accessors.
|
23
|
-
# Rails::Autoloaders.singleton_class.prepend(Autoloaders)
|
24
|
-
|
16
|
+
def load(app)
|
25
17
|
Packs.resolve
|
26
18
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
def finalize!
|
31
|
-
@finalized = @finalized ? return : true
|
32
|
-
|
33
|
-
Require.setup
|
34
|
-
end
|
35
|
-
|
36
|
-
def autoloader(original)
|
37
|
-
return original if @finalized
|
38
|
-
|
39
|
-
@autoloader_proxies ||= {}
|
40
|
-
@autoloader_proxies[original] ||= ZeitwerkProxy.new(original)
|
19
|
+
Integrations::Rails.install(app)
|
20
|
+
Integrations::FactoryBot.install(app)
|
21
|
+
Integrations::RSpec.install(app)
|
41
22
|
end
|
42
23
|
|
43
24
|
def [](name)
|
44
25
|
Packs[name.to_s]
|
45
26
|
end
|
46
|
-
|
47
|
-
private
|
48
|
-
|
49
|
-
def install_integrations
|
50
|
-
Integrations::FactoryBot.install
|
51
|
-
Integrations::RSpec.install
|
52
|
-
end
|
53
27
|
end
|
54
28
|
end
|
55
29
|
|
56
30
|
require "stimpack/railtie"
|
57
|
-
# require "stimpack/require"
|
58
|
-
# require "stimpack/kernel"
|
@@ -2,9 +2,8 @@ require "active_support"
|
|
2
2
|
|
3
3
|
module Stimpack
|
4
4
|
module Integrations
|
5
|
-
extend ActiveSupport::Autoload
|
6
|
-
|
7
|
-
autoload :RSpec, "stimpack/integrations/rspec"
|
8
5
|
autoload :FactoryBot, "stimpack/integrations/factory_bot"
|
6
|
+
autoload :Rails, "stimpack/integrations/rails"
|
7
|
+
autoload :RSpec, "stimpack/integrations/rspec"
|
9
8
|
end
|
10
9
|
end
|
@@ -1,11 +1,11 @@
|
|
1
1
|
module Stimpack
|
2
2
|
module Integrations
|
3
3
|
class FactoryBot
|
4
|
-
def self.install
|
5
|
-
return unless
|
4
|
+
def self.install(app)
|
5
|
+
return unless app.config.respond_to?(:factory_bot)
|
6
6
|
|
7
7
|
Packs.each do |pack|
|
8
|
-
|
8
|
+
app.config.factory_bot.definition_file_paths << pack.relative_path.join("spec/factories").to_s
|
9
9
|
end
|
10
10
|
end
|
11
11
|
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Stimpack
|
4
|
+
module Integrations
|
5
|
+
class Rails
|
6
|
+
PATHS = %w(
|
7
|
+
app
|
8
|
+
app/controllers
|
9
|
+
app/channels
|
10
|
+
app/helpers
|
11
|
+
app/models
|
12
|
+
app/mailers
|
13
|
+
app/views
|
14
|
+
lib
|
15
|
+
lib/tasks
|
16
|
+
config
|
17
|
+
config/locales
|
18
|
+
config/initializers
|
19
|
+
).freeze
|
20
|
+
|
21
|
+
def self.install(app)
|
22
|
+
Packs.each do |pack|
|
23
|
+
PATHS.each do |path|
|
24
|
+
app.paths[path] << pack.path.join(path)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -1,11 +1,11 @@
|
|
1
1
|
module Stimpack
|
2
2
|
module Integrations
|
3
3
|
class RSpec
|
4
|
-
def self.install
|
4
|
+
def self.install(app)
|
5
5
|
return unless defined?(::RSpec)
|
6
6
|
|
7
7
|
Packs.each do |pack|
|
8
|
-
::RSpec.configuration.pattern.concat(",#{pack.
|
8
|
+
::RSpec.configuration.pattern.concat(",#{pack.relative_path.join("spec/**/*_spec.rb")}")
|
9
9
|
end
|
10
10
|
end
|
11
11
|
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Stimpack
|
4
|
+
class Pack
|
5
|
+
autoload :Configuration, "stimpack/pack/configuration"
|
6
|
+
|
7
|
+
attr_reader :name
|
8
|
+
attr_reader :path
|
9
|
+
attr_reader :engine
|
10
|
+
|
11
|
+
def self.root
|
12
|
+
@root ||= Rails.root.join("packs")
|
13
|
+
end
|
14
|
+
|
15
|
+
def initialize(path)
|
16
|
+
@path = path
|
17
|
+
@name = path.relative_path_from(self.class.root)
|
18
|
+
|
19
|
+
if config.engine?
|
20
|
+
@engine = create_engine
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def relative_path
|
25
|
+
@relative_path ||= path.relative_path_from(Rails.root)
|
26
|
+
end
|
27
|
+
|
28
|
+
def config
|
29
|
+
@config ||= Configuration.new(self)
|
30
|
+
end
|
31
|
+
|
32
|
+
private
|
33
|
+
|
34
|
+
def create_engine
|
35
|
+
namespace = create_namespace(name)
|
36
|
+
stim = Stim.new(self, namespace)
|
37
|
+
namespace.const_set("Engine", Class.new(Rails::Engine)).include(stim)
|
38
|
+
end
|
39
|
+
|
40
|
+
def create_namespace(name)
|
41
|
+
namespace = ActiveSupport::Inflector.camelize(name)
|
42
|
+
namespace.split("::").reduce(Object) do |base, mod|
|
43
|
+
if base.const_defined?(mod)
|
44
|
+
base.const_get(mod)
|
45
|
+
else
|
46
|
+
base.const_set(mod, Module.new)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Stimpack
|
4
|
+
class Pack
|
5
|
+
class Configuration
|
6
|
+
FILE = "package.yml"
|
7
|
+
KEY = "metadata"
|
8
|
+
|
9
|
+
def initialize(pack)
|
10
|
+
@pack = pack
|
11
|
+
end
|
12
|
+
|
13
|
+
def engine
|
14
|
+
data.fetch("engine", false)
|
15
|
+
end
|
16
|
+
alias_method :engine?, :engine
|
17
|
+
|
18
|
+
private
|
19
|
+
|
20
|
+
def data
|
21
|
+
@data ||= YAML.load_file(@pack.path.join(FILE)).fetch(KEY, {}).freeze
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
data/lib/stimpack/packs.rb
CHANGED
@@ -1,31 +1,30 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require "active_support"
|
2
4
|
require "pathname"
|
3
5
|
require "rails"
|
4
6
|
|
5
7
|
module Stimpack
|
6
8
|
module Packs
|
7
|
-
|
8
|
-
PACK_CLASS = "Pack".freeze
|
9
|
+
PACK_CLASS = "Pack"
|
9
10
|
|
10
11
|
class << self
|
11
12
|
def resolve
|
12
|
-
|
13
|
-
|
14
|
-
create(path.relative_path_from(PATH).to_s, path.expand_path)
|
15
|
-
end
|
16
|
-
end
|
13
|
+
# Gather all the directories with package config files.
|
14
|
+
paths = filter(Pack.root.glob("**/#{Pack::Configuration::FILE}").map(&:dirname).sort)
|
17
15
|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
16
|
+
# Create thes packs.
|
17
|
+
paths.each do |path|
|
18
|
+
pack = Pack.new(path)
|
19
|
+
@packs[pack.name] = pack
|
20
|
+
end
|
22
21
|
end
|
23
22
|
|
24
23
|
def find(path)
|
25
24
|
path = "#{path}/"
|
26
25
|
|
27
26
|
@packs.values.find do |pack|
|
28
|
-
path.start_with?("#{pack.
|
27
|
+
path.start_with?("#{pack.path}/")
|
29
28
|
end
|
30
29
|
end
|
31
30
|
|
@@ -39,13 +38,14 @@ module Stimpack
|
|
39
38
|
|
40
39
|
private
|
41
40
|
|
42
|
-
def
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
41
|
+
def filter(paths)
|
42
|
+
# Reject all paths that are nested since they might be just packwerk
|
43
|
+
# packages instead of packs.
|
44
|
+
paths.reject do |path|
|
45
|
+
path = "#{path}/"
|
46
|
+
paths.any? do |other_path|
|
47
|
+
other_path = "#{other_path}/"
|
48
|
+
path != other_path && path.start_with?(other_path)
|
49
49
|
end
|
50
50
|
end
|
51
51
|
end
|
data/lib/stimpack/railtie.rb
CHANGED
@@ -2,12 +2,8 @@ require "rails"
|
|
2
2
|
|
3
3
|
module Stimpack
|
4
4
|
class Railtie < Rails::Railtie
|
5
|
-
config.before_configuration do
|
6
|
-
Stimpack.
|
7
|
-
end
|
8
|
-
|
9
|
-
config.after_initialize do
|
10
|
-
Stimpack.finalize!
|
5
|
+
config.before_configuration do |app|
|
6
|
+
Stimpack.load(app)
|
11
7
|
end
|
12
8
|
end
|
13
9
|
end
|
data/lib/stimpack/stim.rb
CHANGED
@@ -1,32 +1,35 @@
|
|
1
1
|
module Stimpack
|
2
2
|
class Stim < Module
|
3
|
-
def initialize(
|
4
|
-
@
|
3
|
+
def initialize(pack, namespace)
|
4
|
+
@pack = pack
|
5
|
+
@namespace = namespace
|
5
6
|
super()
|
6
7
|
end
|
7
8
|
|
8
9
|
def included(engine)
|
9
|
-
engine.called_from = @path
|
10
|
+
engine.called_from = @pack.path
|
10
11
|
engine.extend(ClassMethods)
|
11
|
-
|
12
|
+
engine.isolate_namespace(@namespace)
|
12
13
|
|
13
|
-
|
14
|
-
|
14
|
+
# Set all of these paths to nil because we want the Rails integration to take
|
15
|
+
# care of them. The purpose of this Engine is really just for the namespace
|
16
|
+
# isolation.
|
17
|
+
(Stimpack::Integrations::Rails::PATHS +
|
18
|
+
# In addition to the paths we've delegated to the main app, we don't allow
|
19
|
+
# Engine Packs to have various capabilities.
|
20
|
+
%w(
|
21
|
+
config/environments
|
22
|
+
db/migrate
|
23
|
+
)
|
24
|
+
).uniq.each do |path|
|
25
|
+
engine.paths[path] = nil
|
15
26
|
end
|
16
|
-
|
17
|
-
# if settings.implicit_namespace?
|
18
|
-
# engine.paths["lib"].skip_load_path!
|
19
|
-
# end
|
20
27
|
end
|
21
28
|
|
22
29
|
module ClassMethods
|
23
30
|
def find_root(_from)
|
24
31
|
called_from
|
25
32
|
end
|
26
|
-
|
27
|
-
def settings
|
28
|
-
@settings ||= Stimpack::Settings.new(self)
|
29
|
-
end
|
30
33
|
end
|
31
34
|
end
|
32
35
|
end
|
data/lib/stimpack/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: stimpack
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.0.
|
4
|
+
version: 1.0.0.alpha6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ngan Pham
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-03-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -63,28 +63,23 @@ files:
|
|
63
63
|
- bin/console
|
64
64
|
- bin/setup
|
65
65
|
- lib/stimpack.rb
|
66
|
-
- lib/stimpack/autoloaders.rb
|
67
|
-
- lib/stimpack/instance.rb
|
68
66
|
- lib/stimpack/integrations.rb
|
69
67
|
- lib/stimpack/integrations/factory_bot.rb
|
68
|
+
- lib/stimpack/integrations/rails.rb
|
70
69
|
- lib/stimpack/integrations/rspec.rb
|
71
|
-
- lib/stimpack/
|
72
|
-
- lib/stimpack/
|
73
|
-
- lib/stimpack/packages.rb
|
70
|
+
- lib/stimpack/pack.rb
|
71
|
+
- lib/stimpack/pack/configuration.rb
|
74
72
|
- lib/stimpack/packs.rb
|
75
73
|
- lib/stimpack/railtie.rb
|
76
|
-
- lib/stimpack/require.rb
|
77
|
-
- lib/stimpack/settings.rb
|
78
74
|
- lib/stimpack/stim.rb
|
79
75
|
- lib/stimpack/version.rb
|
80
|
-
- lib/stimpack/zeitwerk_proxy.rb
|
81
76
|
homepage: https://github.com/Gusto/stimpack
|
82
77
|
licenses: []
|
83
78
|
metadata:
|
84
79
|
homepage_uri: https://github.com/Gusto/stimpack
|
85
80
|
source_code_uri: https://github.com/Gusto/stimpack
|
86
81
|
changelog_uri: https://github.com/Gusto/stimpack/blob/master/CHANGELOG.md
|
87
|
-
post_install_message:
|
82
|
+
post_install_message:
|
88
83
|
rdoc_options: []
|
89
84
|
require_paths:
|
90
85
|
- lib
|
@@ -100,7 +95,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
100
95
|
version: 1.3.1
|
101
96
|
requirements: []
|
102
97
|
rubygems_version: 3.1.2
|
103
|
-
signing_key:
|
98
|
+
signing_key:
|
104
99
|
specification_version: 4
|
105
100
|
summary: A Rails helper to package your code.
|
106
101
|
test_files: []
|
data/lib/stimpack/autoloaders.rb
DELETED
data/lib/stimpack/instance.rb
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
require "pathname"
|
2
|
-
require "active_support/inflector"
|
3
|
-
|
4
|
-
module Stimpack
|
5
|
-
class Instance
|
6
|
-
def initialize
|
7
|
-
Pathname.new("packages").glob("*/package.yml").each do |path|
|
8
|
-
path = path.realpath.dirname
|
9
|
-
name = ActiveSupport::Inflector.classify(path.basename)
|
10
|
-
Stimpack::Packages.create(name, path)
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
data/lib/stimpack/kernel.rb
DELETED
data/lib/stimpack/package.rb
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
require "rails"
|
2
|
-
require "active_support/core_ext/module/delegation"
|
3
|
-
|
4
|
-
module Stimpack
|
5
|
-
class Package < ::Rails::Engine
|
6
|
-
class << self
|
7
|
-
delegate :subclasses, to: :superclass
|
8
|
-
|
9
|
-
def find_root(from)
|
10
|
-
Packages.paths[module_parent.name]
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
data/lib/stimpack/packages.rb
DELETED
@@ -1,35 +0,0 @@
|
|
1
|
-
require "rails"
|
2
|
-
|
3
|
-
module Stimpack
|
4
|
-
module Packages
|
5
|
-
def self.paths
|
6
|
-
@paths ||= {}
|
7
|
-
end
|
8
|
-
|
9
|
-
def self.create(name, path)
|
10
|
-
paths[name] = path
|
11
|
-
|
12
|
-
class_eval(<<~RUBY, __FILE__, __LINE__ + 1)
|
13
|
-
module ::#{name}
|
14
|
-
class Engine < ::Stimpack::Package
|
15
|
-
end
|
16
|
-
end
|
17
|
-
RUBY
|
18
|
-
|
19
|
-
engine = const_get("::#{name}::Engine")
|
20
|
-
# Isolate the package namespace.
|
21
|
-
engine.isolate_namespace(engine.module_parent)
|
22
|
-
|
23
|
-
# Disable Railtie initializers for Packages.
|
24
|
-
engine.paths["config/initializers"] = nil
|
25
|
-
|
26
|
-
engine.paths["lib/tasks"] = "tasks"
|
27
|
-
engine.paths["db/migrate"] = "migrations"
|
28
|
-
engine.paths["config/routes.rb"] = "routes.rb"
|
29
|
-
|
30
|
-
if engine.paths["db/migrate"].existent.any?
|
31
|
-
ActiveRecord::Migrator.migrations_paths << engine.paths["db/migrate"].first
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
data/lib/stimpack/require.rb
DELETED
@@ -1,47 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Stimpack
|
4
|
-
class Require
|
5
|
-
IGNORED_PATH_PREFIXES = ["/", "./"].freeze
|
6
|
-
RUBY_EXTENSION = ".rb"
|
7
|
-
|
8
|
-
include Singleton
|
9
|
-
|
10
|
-
attr_accessor :enabled
|
11
|
-
|
12
|
-
def self.resolve(path)
|
13
|
-
instance.resolve(path)
|
14
|
-
end
|
15
|
-
|
16
|
-
def self.setup
|
17
|
-
instance.setup
|
18
|
-
end
|
19
|
-
|
20
|
-
def initialize
|
21
|
-
@packs = {}
|
22
|
-
end
|
23
|
-
|
24
|
-
def setup
|
25
|
-
@setup = @setup ? return : true
|
26
|
-
|
27
|
-
Packs.each do |pack|
|
28
|
-
if pack.settings.implicit_namespace?
|
29
|
-
@packs["#{pack.settings.name}/"] = "#{pack.paths["lib"].first}/"
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
def resolve(path)
|
35
|
-
path = path.to_s
|
36
|
-
return if path.start_with?(*IGNORED_PATH_PREFIXES)
|
37
|
-
|
38
|
-
@packs.find do |pack_path, full_path|
|
39
|
-
if path.start_with?(pack_path)
|
40
|
-
full_pack_path = path.sub(pack_path, full_path)
|
41
|
-
full_pack_path.concat(RUBY_EXTENSION) unless full_pack_path.end_with?(RUBY_EXTENSION)
|
42
|
-
return File.exist?(full_pack_path) && full_pack_path
|
43
|
-
end
|
44
|
-
end
|
45
|
-
end
|
46
|
-
end
|
47
|
-
end
|
data/lib/stimpack/settings.rb
DELETED
@@ -1,40 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Stimpack
|
4
|
-
class Settings
|
5
|
-
PACKWERK_PACKAGE_CONFIG = "package.yml"
|
6
|
-
|
7
|
-
def initialize(pack)
|
8
|
-
@pack = pack
|
9
|
-
|
10
|
-
package_config = YAML.load_file(pack.root.join(PACKWERK_PACKAGE_CONFIG)) || {}
|
11
|
-
@config = package_config.fetch("metadata", {}).freeze
|
12
|
-
end
|
13
|
-
|
14
|
-
def path
|
15
|
-
@pack.called_from
|
16
|
-
end
|
17
|
-
|
18
|
-
def relative_path
|
19
|
-
@relative_path ||= path.relative_path_from(Rails.root)
|
20
|
-
end
|
21
|
-
|
22
|
-
def name
|
23
|
-
@name ||= ActiveSupport::Inflector.underscore(namespace.name)
|
24
|
-
end
|
25
|
-
|
26
|
-
def namespace
|
27
|
-
@pack.module_parent
|
28
|
-
end
|
29
|
-
|
30
|
-
# def implicit_namespace
|
31
|
-
# @config.fetch("implicit_namespace", true)
|
32
|
-
# end
|
33
|
-
# alias_method :implicit_namespace?, :implicit_namespace
|
34
|
-
|
35
|
-
def isolate_namespace
|
36
|
-
@config.fetch("isolate_namespace", true)
|
37
|
-
end
|
38
|
-
alias_method :isolate_namespace?, :isolate_namespace
|
39
|
-
end
|
40
|
-
end
|
@@ -1,24 +0,0 @@
|
|
1
|
-
require "active_support"
|
2
|
-
|
3
|
-
module Stimpack
|
4
|
-
class ZeitwerkProxy
|
5
|
-
delegate_missing_to :@loader
|
6
|
-
|
7
|
-
def initialize(loader)
|
8
|
-
@loader = loader
|
9
|
-
end
|
10
|
-
|
11
|
-
def push_dir(path, namespace: Object)
|
12
|
-
@loader.push_dir(path, namespace: _resolve_namespace(path) || namespace)
|
13
|
-
end
|
14
|
-
|
15
|
-
private
|
16
|
-
|
17
|
-
def _resolve_namespace(path)
|
18
|
-
pack = Packs.find(path)
|
19
|
-
return unless pack
|
20
|
-
|
21
|
-
pack.settings.namespace if pack.settings.implicit_namespace?
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|