From 1813b29fc7632959800252f36e4b2e6ed4ac7266 Mon Sep 17 00:00:00 2001 From: Jon Moss Date: Wed, 10 Feb 2016 17:11:53 -0500 Subject: Generate ApplicationRecord if it does not already exist --- .../lib/rails/generators/active_record/model/model_generator.rb | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'activerecord/lib/rails/generators/active_record/model/model_generator.rb') diff --git a/activerecord/lib/rails/generators/active_record/model/model_generator.rb b/activerecord/lib/rails/generators/active_record/model/model_generator.rb index 7395839fca..09d3e7d9b9 100644 --- a/activerecord/lib/rails/generators/active_record/model/model_generator.rb +++ b/activerecord/lib/rails/generators/active_record/model/model_generator.rb @@ -22,11 +22,13 @@ module ActiveRecord def create_model_file template 'model.rb', File.join('app/models', class_path, "#{file_name}.rb") + generate_application_record end def create_module_file return if regular_class_path.empty? template 'module.rb', File.join('app/models', "#{class_path.join('/')}.rb") if behavior == :invoke + generate_application_record end hook_for :test_framework @@ -37,6 +39,12 @@ module ActiveRecord attributes.select { |a| !a.reference? && a.has_index? } end + def generate_application_record + if self.behavior == :invoke && !File.exist?('app/models/application_record.rb') + template 'application_record.rb', 'app/models/application_record.rb' + end + end + # Used by the migration template to determine the parent name of the model def parent_class_name options[:parent] || determine_default_parent_class -- cgit v1.2.3