Skip to content

Commit 3440c34

Browse files
author
Alex Evanczuk
committed
Mark API as private and reference it in permitted way
1 parent bcb371d commit 3440c34

26 files changed

Lines changed: 209 additions & 173 deletions

lib/packwerk.rb

Lines changed: 44 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -13,44 +13,74 @@
1313
module Packwerk
1414
extend ActiveSupport::Autoload
1515

16+
# Public APIs
17+
autoload :Checker
18+
autoload :Cli
19+
autoload :Offense
20+
autoload :OffensesFormatter
21+
autoload :OutputStyle
22+
autoload :Package
23+
autoload :PackageSet
24+
autoload :PackageTodo
25+
autoload :Parsers
26+
autoload :Reference
27+
autoload :ReferenceOffense
28+
autoload :Result
29+
30+
# Private APIs
31+
# Please submit an issue if you have a use-case for these
1632
autoload :ApplicationLoadPaths
33+
private_constant :ApplicationLoadPaths
1734
autoload :ApplicationValidator
35+
private_constant :ApplicationValidator
1836
autoload :AssociationInspector
37+
private_constant :AssociationInspector
1938
autoload :Cache
20-
autoload :Checker
21-
autoload :Cli
39+
private_constant :Cache
2240
autoload :Configuration
41+
private_constant :Configuration
2342
autoload :ConstantDiscovery
43+
private_constant :ConstantDiscovery
2444
autoload :ConstantNameInspector
45+
private_constant :ConstantNameInspector
2546
autoload :ConstNodeInspector
47+
private_constant :ConstNodeInspector
2648
autoload :ExtensionLoader
49+
private_constant :ExtensionLoader
2750
autoload :FileProcessor
51+
private_constant :FileProcessor
2852
autoload :FilesForProcessing
53+
private_constant :FilesForProcessing
2954
autoload :Graph
55+
private_constant :Graph
3056
autoload :Loader
57+
private_constant :Loader
3158
autoload :Node
59+
private_constant :Node
3260
autoload :NodeHelpers
61+
private_constant :NodeHelpers
3362
autoload :NodeProcessor
63+
private_constant :NodeProcessor
3464
autoload :NodeProcessorFactory
65+
private_constant :NodeProcessorFactory
3566
autoload :NodeVisitor
36-
autoload :Offense
67+
private_constant :NodeVisitor
3768
autoload :OffenseCollection
38-
autoload :OffensesFormatter
39-
autoload :OutputStyle
40-
autoload :Package
41-
autoload :PackageSet
42-
autoload :PackageTodo
69+
private_constant :OffenseCollection
4370
autoload :ParsedConstantDefinitions
44-
autoload :Parsers
71+
private_constant :ParsedConstantDefinitions
4572
autoload :ParseRun
46-
autoload :Reference
73+
private_constant :ParseRun
4774
autoload :ReferenceExtractor
48-
autoload :ReferenceOffense
49-
autoload :Result
75+
private_constant :ReferenceExtractor
5076
autoload :RunContext
77+
private_constant :RunContext
5178
autoload :UnresolvedReference
79+
private_constant :UnresolvedReference
5280
autoload :Validator
81+
private_constant :Validator
5382
autoload :Version
83+
private_constant :Version
5484

5585
module OutputStyles
5686
extend ActiveSupport::Autoload
@@ -103,9 +133,9 @@ class ApplicationValidator
103133
end
104134
end
105135

106-
# Required to register the default OffensesFormatter
136+
# Required to register the DefaultOffensesFormatter
107137
# We put this at the *end* of the file to specify all autoloads first
108-
require "packwerk/formatters/offenses_formatter"
138+
require "packwerk/formatters/default_offenses_formatter"
109139

110140
# Required to register the default DependencyChecker
111141
require "packwerk/reference_checking/checkers/dependency_checker"

lib/packwerk/cli.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ class Cli
1414
out: T.any(StringIO, IO),
1515
err_out: T.any(StringIO, IO),
1616
environment: String,
17-
style: Packwerk::OutputStyle,
18-
offenses_formatter: T.nilable(Packwerk::OffensesFormatter)
17+
style: OutputStyle,
18+
offenses_formatter: T.nilable(OffensesFormatter)
1919
).void
2020
end
2121
def initialize(
@@ -159,7 +159,7 @@ def validate(_paths)
159159

160160
sig { returns(ApplicationValidator) }
161161
def validator
162-
Packwerk::ApplicationValidator.new
162+
ApplicationValidator.new
163163
end
164164

165165
sig { returns(PackageSet) }

lib/packwerk/configuration.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ def initialize(configs = {}, config_path: nil)
5151
@cache_directory = Pathname.new(configs["cache_directory"] || "tmp/cache/packwerk")
5252
@config_path = config_path
5353

54-
@offenses_formatter_identifier = configs["offenses_formatter"] || Formatters::OffensesFormatter::IDENTIFIER
54+
@offenses_formatter_identifier = configs["offenses_formatter"] || Formatters::DefaultOffensesFormatter::IDENTIFIER
5555

5656
if configs.key?("require")
5757
configs["require"].each do |require_directive|

lib/packwerk/constant_discovery.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ def package_from_path(path)
5050
# @param const_name [String] The unresolved constant's name.
5151
# @param current_namespace_path [Array<String>] (optional) The namespace of the context in which the constant is
5252
# used, e.g. ["Apps", "Models"] for `Apps::Models`. Defaults to [] which means top level.
53-
# @return [Packwerk::ConstantDiscovery::ConstantContext]
53+
# @return [ConstantDiscovery::ConstantContext]
5454
sig do
5555
params(
5656
const_name: String,

lib/packwerk/file_processor.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ def references_from_ast(node, relative_file)
6464
references = []
6565

6666
node_processor = @node_processor_factory.for(relative_file: relative_file, node: node)
67-
node_visitor = Packwerk::NodeVisitor.new(node_processor: node_processor)
67+
node_visitor = NodeVisitor.new(node_processor: node_processor)
6868
node_visitor.visit(node, ancestors: [], result: references)
6969

7070
references

lib/packwerk/formatters/offenses_formatter.rb renamed to lib/packwerk/formatters/default_offenses_formatter.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33

44
module Packwerk
55
module Formatters
6-
class OffensesFormatter
7-
include Packwerk::OffensesFormatter
6+
class DefaultOffensesFormatter
7+
include OffensesFormatter
88

99
IDENTIFIER = T.let("default", String)
1010

@@ -20,7 +20,7 @@ def show_offenses(offenses)
2020
EOS
2121
end
2222

23-
sig { override.params(offense_collection: Packwerk::OffenseCollection, fileset: T::Set[String]).returns(String) }
23+
sig { override.params(offense_collection: OffenseCollection, fileset: T::Set[String]).returns(String) }
2424
def show_stale_violations(offense_collection, fileset)
2525
if offense_collection.stale_violations?(fileset)
2626
"There were stale violations found, please run `packwerk update-todo`"

lib/packwerk/generators/configuration_file.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ def initialize(root:, out: $stdout)
2525
sig { returns(T::Boolean) }
2626
def generate
2727
@out.puts("📦 Generating Packwerk configuration file...")
28-
default_config_path = File.join(@root, ::Packwerk::Configuration::DEFAULT_CONFIG_PATH)
28+
default_config_path = File.join(@root, Configuration::DEFAULT_CONFIG_PATH)
2929

3030
if File.exist?(default_config_path)
3131
@out.puts("⚠️ Packwerk configuration file already exists.")

lib/packwerk/node_processor_factory.rb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,22 +6,22 @@ class NodeProcessorFactory < T::Struct
66
extend T::Sig
77

88
const :root_path, String
9-
const :context_provider, Packwerk::ConstantDiscovery
9+
const :context_provider, ConstantDiscovery
1010
const :constant_name_inspectors, T::Array[ConstantNameInspector]
1111

1212
sig { params(relative_file: String, node: AST::Node).returns(NodeProcessor) }
1313
def for(relative_file:, node:)
14-
::Packwerk::NodeProcessor.new(
14+
NodeProcessor.new(
1515
reference_extractor: reference_extractor(node: node),
1616
relative_file: relative_file,
1717
)
1818
end
1919

2020
private
2121

22-
sig { params(node: AST::Node).returns(::Packwerk::ReferenceExtractor) }
22+
sig { params(node: AST::Node).returns(ReferenceExtractor) }
2323
def reference_extractor(node:)
24-
::Packwerk::ReferenceExtractor.new(
24+
ReferenceExtractor.new(
2525
constant_name_inspectors: constant_name_inspectors,
2626
root_node: node,
2727
root_path: root_path,

lib/packwerk/offenses_formatter.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ def formatter_by_identifier(name)
6161
def show_offenses(offenses)
6262
end
6363

64-
sig { abstract.params(offense_collection: Packwerk::OffenseCollection, for_files: T::Set[String]).returns(String) }
64+
sig { abstract.params(offense_collection: OffenseCollection, for_files: T::Set[String]).returns(String) }
6565
def show_stale_violations(offense_collection, for_files)
6666
end
6767

lib/packwerk/parse_run.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ def update_todo
4545
return Result.new(message: message, status: false)
4646
end
4747

48-
run_context = Packwerk::RunContext.from_configuration(@configuration)
48+
run_context = RunContext.from_configuration(@configuration)
4949
offense_collection = find_offenses(run_context)
5050
offense_collection.persist_package_todo_files(run_context.package_set)
5151

@@ -59,7 +59,7 @@ def update_todo
5959

6060
sig { returns(Result) }
6161
def check
62-
run_context = Packwerk::RunContext.from_configuration(@configuration)
62+
run_context = RunContext.from_configuration(@configuration)
6363
offense_collection = find_offenses(run_context, show_errors: true)
6464

6565
messages = [
@@ -76,7 +76,7 @@ def check
7676

7777
private
7878

79-
sig { params(run_context: Packwerk::RunContext, show_errors: T::Boolean).returns(OffenseCollection) }
79+
sig { params(run_context: RunContext, show_errors: T::Boolean).returns(OffenseCollection) }
8080
def find_offenses(run_context, show_errors: false)
8181
offense_collection = OffenseCollection.new(@configuration.root_path)
8282
all_offenses = T.let([], T::Array[Offense])

0 commit comments

Comments
 (0)