From 1d7edf14ee817725a9a08d37b9cae14ac6eff491 Mon Sep 17 00:00:00 2001 From: Andrew White Date: Sun, 11 Apr 2010 09:27:45 +0100 Subject: [PATCH] Generate module file for namespaced models --- .../active_record/model/model_generator.rb | 9 +++++++++ .../active_record/model/templates/module.rb | 5 +++++ 2 files changed, 14 insertions(+), 0 deletions(-) create mode 100644 activerecord/lib/rails/generators/active_record/model/templates/module.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 3e72fbe..4ea8836 100644 --- a/activerecord/lib/rails/generators/active_record/model/model_generator.rb +++ b/activerecord/lib/rails/generators/active_record/model/model_generator.rb @@ -20,6 +20,11 @@ module ActiveRecord template 'model.rb', File.join('app/models', class_path, "#{file_name}.rb") end + def create_module_file + return if (class_path.empty? || File.exist?(File.join('app/models', module_file_name))) + template 'module.rb', File.join('app/models', module_file_name) + end + hook_for :test_framework protected @@ -28,6 +33,10 @@ module ActiveRecord options[:parent] || "ActiveRecord::Base" end + def module_file_name + "#{class_path.join('/')}.rb" + end + end end end diff --git a/activerecord/lib/rails/generators/active_record/model/templates/module.rb b/activerecord/lib/rails/generators/active_record/model/templates/module.rb new file mode 100644 index 0000000..bb4220f --- /dev/null +++ b/activerecord/lib/rails/generators/active_record/model/templates/module.rb @@ -0,0 +1,5 @@ +module <%= class_path.map(&:camelize).join('::') %> + def self.table_name_prefix + '<%= class_path.join('_') %>_' + end +end -- 1.6.4.4