Class: Squasher::Config

Inherits:
Object
  • Object
show all
Defined in:
lib/squasher/config.rb

Instance Method Summary collapse

Constructor Details

#initializeConfig



6
7
8
# File 'lib/squasher/config.rb', line 6

def initialize
  @root_path = Dir.pwd
end

Instance Method Details

#dbconfig?Boolean



26
27
28
# File 'lib/squasher/config.rb', line 26

def dbconfig?
  !dbconfig.nil?
end

#migration_file(timestamp, migration_name) ⇒ Object



18
19
20
# File 'lib/squasher/config.rb', line 18

def migration_file(timestamp, migration_name)
  File.join(migrations_folder, "#{ timestamp }_#{ migration_name }.rb")
end

#migration_filesObject



14
15
16
# File 'lib/squasher/config.rb', line 14

def migration_files
  Dir.glob(File.join(migrations_folder, '**.rb'))
end

#migrations_folder?Boolean



22
23
24
# File 'lib/squasher/config.rb', line 22

def migrations_folder?
  Dir.exists?(migrations_folder)
end

#schema_fileObject



10
11
12
# File 'lib/squasher/config.rb', line 10

def schema_file
  @schema_file ||= from_root('db', 'schema.rb')
end

#stub_dbconfigObject



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/squasher/config.rb', line 30

def stub_dbconfig
  return unless dbconfig?

  list = [dbconfig_file, schema_file]
  list.each do |file|
    next unless File.exists?(file)
    FileUtils.mv file, "#{ file }.sbackup"
  end
  update_dbconfig_file

  yield

ensure
  list.each do |file|
    next unless File.exists?("#{ file }.sbackup")
    FileUtils.mv "#{ file }.sbackup", file
  end
end