aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/rails_generator/generators/components/observer/observer_generator.rb
diff options
context:
space:
mode:
Diffstat (limited to 'railties/lib/rails_generator/generators/components/observer/observer_generator.rb')
-rw-r--r--railties/lib/rails_generator/generators/components/observer/observer_generator.rb16
1 files changed, 16 insertions, 0 deletions
diff --git a/railties/lib/rails_generator/generators/components/observer/observer_generator.rb b/railties/lib/rails_generator/generators/components/observer/observer_generator.rb
new file mode 100644
index 0000000000..18fbd32b75
--- /dev/null
+++ b/railties/lib/rails_generator/generators/components/observer/observer_generator.rb
@@ -0,0 +1,16 @@
+class ObserverGenerator < Rails::Generator::NamedBase
+ def manifest
+ record do |m|
+ # Check for class naming collisions.
+ m.class_collisions class_path, "#{class_name}Observer", "#{class_name}ObserverTest"
+
+ # Observer, and test directories.
+ m.directory File.join('app/models', class_path)
+ m.directory File.join('test/unit', class_path)
+
+ # Observer class and unit test fixtures.
+ m.template 'observer.rb', File.join('app/models', class_path, "#{file_name}_observer.rb")
+ m.template 'unit_test.rb', File.join('test/unit', class_path, "#{file_name}_observer_test.rb")
+ end
+ end
+end