Sha256: 14e6ed17839681095d710bd78b032993d63b51108ff4b50f86093e7eeebbd695
Contents?: true
Size: 1.81 KB
Versions: 1
Compression:
Stored size: 1.81 KB
Contents
require 'rails/version' require File.dirname(__FILE__) + '/../default_values' require 'generators/rspec_rails3_gen_base' module RSpec module Generators class ModelGenerator < NamedBase # argument :model_name, :type => :string, :required => true, :banner => 'ModelName' argument :attributes, :type => :array, :default => [], :banner => "field:type field:type" class_option :skip_fixture, :type => :boolean, :aliases => "-F", :default => false, :desc => "Skip Fixture creation" class_option :skip_migration, :type => :boolean, :aliases => "-M", :default => false, :desc => "Skip Migration creation" def self.source_root @source_root ||= File.expand_path('../templates', __FILE__) end def create_files empty_directory 'app/models' empty_directory 'spec/models' unless options[:skip_fixture] empty_directory 'spec/fixtures' end end def create_model # use hook to execute model generator # create spec for model template 'model_spec.rb', "spec/models/#{file_name}_spec.rb" # unless options[:skip_fixture] # template 'fixtures.yml', File.join('spec/fixtures', "#{table_name}.yml") # end # # unless options[:skip_migration] # migration_template 'model:migration.rb', 'db/migrate', :assigns => { # :migration_name => "Create#{class_name.pluralize.gsub(/::/, '')}" # }, :migration_file_name => "create_#{file_path.gsub(/\//, '_').pluralize}" # end end # hook into generators for model, migration and fixture and have them execute with same arguments hook_for :model, :migration, :fixture end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rspec_rails3_gen-0.2.0 | lib/generators/rspec/model/model_generator.rb |