Class: Rspec::Generators::ModelGenerator

Inherits:
NamedBase
  • Object
show all
Defined in:
lib/generators/rspec/model/model_generator.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from NamedBase

banner

Class Method Details

.source_rootObject



18
19
20
# File 'lib/generators/rspec/model/model_generator.rb', line 18

def self.source_root
  @source_root ||= File.expand_path('../templates', __FILE__)
end

Instance Method Details

#create_filesObject



22
23
24
25
26
27
28
29
# File 'lib/generators/rspec/model/model_generator.rb', line 22

def create_files
  empty_directory 'app/models'
  empty_directory 'spec/models'
  unless options[:skip_fixture]
    empty_directory 'spec/fixtures'
  end

end

#create_modelObject



31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/generators/rspec/model/model_generator.rb', line 31

def create_model        
  # use hook to execute model generator
  
  # create spec for model
  template 'model_spec.rb',     "spec/models/#{file_name}_spec.rb"      
  attribs = attributes.map{|a| a.to_s}.join(' ')
  # puts "script/generate model #{file_name} #{attribs}"
  no_fixture = options[:skip_fixture] ? '--skip-fixture' : ''
  skip_migration = options[:skip_migration] ? '--skip-migration' : ''
  flags = [no_fixture, skip_migration].join(' ')

  generate "model #{file_name} #{attribs} #{flags}"

  # 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