lib/rails_erd/domain.rb in rails-erd-1.7.1 vs lib/rails_erd/domain.rb in rails-erd-1.7.2

- old
+ new

@@ -118,10 +118,35 @@ end end end def models - @models ||= @source_models.select { |model| check_model_validity(model) }.reject { |model| check_habtm_model(model) } + @models ||= @source_models + .reject { |model| tableless_rails_models.include?(model) } + .select { |model| check_model_validity(model) } + .reject { |model| check_habtm_model(model) } + end + + # Returns Rails model classes defined in the app + def rails_models + %w( + ActionMailbox::InboundEmail + ActiveStorage::Attachment + ActiveStorage::Blob + ActiveStorage::VariantRecord + ActionText::RichText + ActionText::EncryptedRichText + ).map{ |model| Object.const_get(model) rescue nil }.compact + end + + def tableless_rails_models + @tableless_rails_models ||= begin + if defined? Rails + rails_models.reject{ |model| model.table_exists? } + else + [] + end + end end def associations @associations ||= models.collect(&:reflect_on_all_associations).flatten.select { |assoc| check_association_validity(assoc) } end