From 2d6784b88d38be9edadc62ceae43cc4df1b67f3b Mon Sep 17 00:00:00 2001 From: Neal Chambers Date: Mon, 2 Oct 2023 09:52:48 +0900 Subject: [PATCH] Allow Full Modulized Class Name to be Used for TODOs --- spec/models/database_spec.rb | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/spec/models/database_spec.rb b/spec/models/database_spec.rb index 412aa0cf51..6704f0890e 100644 --- a/spec/models/database_spec.rb +++ b/spec/models/database_spec.rb @@ -20,7 +20,12 @@ RSpec.describe "Database" do def filter_model_classes Dir.glob(Rails.root.join('app/models/**/*.rb').to_s) - .map { |file| File.basename(file, '.rb').camelize } + .map do |file| + relative_path = Pathname.new(file).relative_path_from(Rails.root.join('app/models')).to_s + subdirectory = File.dirname(relative_path) + base_name = File.basename(file, '.rb').camelize + subdirectory == "." ? base_name : "#{subdirectory.camelize}::#{base_name}" + end end def generate_migrations(model_classes) @@ -31,7 +36,7 @@ RSpec.describe "Database" do model_classes.reject!(&filter) ActiveRecord::Base.descendants.each do |model_class| - next unless model_classes.include?(model_class.name.demodulize) + next unless model_classes.include?(model_class.name) model_class.reflect_on_all_associations(:belongs_to).each do |association| migration = process_association(model_class, association, previous_models)