Updated to latest rspec
[gitorious:georgyos-clone.git] / vendor / plugins / rspec-rails / generators / rspec_model / rspec_model_generator.rb
1 require 'rails_generator/generators/components/model/model_generator'
2
3 class RspecModelGenerator < ModelGenerator
4
5   def manifest
6
7     record do |m|
8       # Check for class naming collisions.
9       m.class_collisions class_path, class_name
10
11       # Model, spec, and fixture directories.
12       m.directory File.join('app/models', class_path)
13       m.directory File.join('spec/models', class_path)
14       m.directory File.join('spec/fixtures', class_path)
15
16       # Model class, spec and fixtures.
17       m.template 'model:model.rb',      File.join('app/models', class_path, "#{file_name}.rb")
18       m.template 'model:fixtures.yml',  File.join('spec/fixtures', class_path, "#{table_name}.yml")
19       m.template 'model_spec.rb',       File.join('spec/models', class_path, "#{file_name}_spec.rb")
20
21       unless options[:skip_migration]
22         m.migration_template 'model:migration.rb', 'db/migrate', :assigns => {
23           :migration_name => "Create#{class_name.pluralize.gsub(/::/, '')}"
24         }, :migration_file_name => "create_#{file_path.gsub(/\//, '_').pluralize}"
25       end
26
27     end
28   end
29
30 end