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