Module: RSpec::Rails::Migration

Includes:
App
Included in:
FileMatchers::GenerateMigration
Defined in:
lib/generator_spec/rails_helpers/rails_migration.rb

Instance Method Summary collapse

Methods included from App

#all_files, #app_dir, #app_files, #config_dir, #controller_dir, #controller_files, #css_files, #db_dir, #db_files, #helper_dir, #helper_files, #initializer_dir, #initializer_files, #javascript_dir, #javascript_files, #locale_dir, #locale_files, #mailer_dir, #mailer_files, #migration_dir, #migration_files, #model_dir, #model_files, #observer_dir, #observer_files, #root_dir, #sass_files, #stylesheet_dir, #view_dir, #view_files, #view_files_haml, #view_files_html

Instance Method Details

#create_migration(number, name, &block) ⇒ Object



5
6
7
8
9
10
11
12
13
14
# File 'lib/generator_spec/rails_helpers/rails_migration.rb', line 5

def create_migration number, name, &block      
  file = migration_file_name(number, name)
  unless File.exist?(file)    
    FileUtils.mkdir_p File.dirname(file)
    File.open(file, 'w') do |f|  
      f.puts file_content(name)
      yield f if block_given?
    end
  end
end

#migration_file_name(number, name) ⇒ Object



32
33
34
# File 'lib/generator_spec/rails_helpers/rails_migration.rb', line 32

def migration_file_name number, name
  File.join(migration_dir, "#{number}_#{name}.rb")
end

#remove_migration(name) ⇒ Object



16
17
18
19
20
21
22
23
24
# File 'lib/generator_spec/rails_helpers/rails_migration.rb', line 16

def remove_migration name
  migrations = Dir.glob("#{migration_dir}/[0-9]*_*.rb")
  migration_file = if !migrations.empty? 
    migrations.grep(/\d+_#{name}\.rb$/).first 
  else 
    false
  end
  FileUtils.rm_f(migration_file) if migration_file
end

#remove_migrations(*names) ⇒ Object



26
27
28
29
30
# File 'lib/generator_spec/rails_helpers/rails_migration.rb', line 26

def remove_migrations *names
  names.each do |name| 
    remove_migration name
  end
end