aboutsummaryrefslogtreecommitdiffhomepage
path: root/scripts/linters/no_mod_rs.rb
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-05-11 19:45:17 +0900
committernsfisis <nsfisis@gmail.com>2026-05-11 19:45:17 +0900
commit24cc697a9cd0dcac854359d65b8265f02f483b72 (patch)
treec9693dbf3136d840157609161a3a5695828e853b /scripts/linters/no_mod_rs.rb
parent2aceeb116150b6d6e6d3f371c2af509902ceafea (diff)
downloadphp-mozart-24cc697a9cd0dcac854359d65b8265f02f483b72.tar.gz
php-mozart-24cc697a9cd0dcac854359d65b8265f02f483b72.tar.zst
php-mozart-24cc697a9cd0dcac854359d65b8265f02f483b72.zip
chore(lint): add Ruby linter scripts and apply rules
Adds scripts/lint with linters for mod.rs naming, contiguous use blocks, use-as aliasing, sorted Cargo dependencies, std::collections maps, and workspace dependency requirements. Renames mod.rs files, reorders use statements, drops unnecessary import aliases, and sorts Cargo.toml entries to satisfy the new rules.
Diffstat (limited to 'scripts/linters/no_mod_rs.rb')
-rwxr-xr-xscripts/linters/no_mod_rs.rb14
1 files changed, 14 insertions, 0 deletions
diff --git a/scripts/linters/no_mod_rs.rb b/scripts/linters/no_mod_rs.rb
new file mode 100755
index 0000000..8fef9f0
--- /dev/null
+++ b/scripts/linters/no_mod_rs.rb
@@ -0,0 +1,14 @@
+def no_mod_rs(root_dir)
+ pattern = root_dir.join('crates', '*', 'src', '**', 'mod.rs').to_s
+ errors = Dir.glob(pattern).sort.map do |path|
+ Pathname.new(path).relative_path_from(root_dir).to_s
+ end
+
+ return true if errors.empty?
+
+ puts 'Found `mod.rs` file(s). Use `src/<submodule>.rs` instead of `<submodule>/mod.rs`:'
+ errors.each do |path|
+ puts " #{path}"
+ end
+ false
+end