Class: Seed::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/seed/configuration.rb

Instance Method Summary collapse

Constructor Details

#initializeConfiguration



6
7
8
9
# File 'lib/seed/configuration.rb', line 6

def initialize
  # error if adapter is not mysql
  raise 'seed-snapshot support only MySQL' unless adapter_name == 'Mysql2'
end

Instance Method Details

#adapter_nameObject



11
12
13
# File 'lib/seed/configuration.rb', line 11

def adapter_name
  @adapter_name ||= ActiveRecord::Base.connection.adapter_name
end

#base_pathObject

$Rails.root/tmp/dump



24
25
26
# File 'lib/seed/configuration.rb', line 24

def base_path
  Pathname.new(Dir.pwd).join('tmp').join('dump')
end

#current_version_pathObject

$Rails.root/tmp/dump/123456789.sql’



29
30
31
# File 'lib/seed/configuration.rb', line 29

def current_version_path
  base_path.join(schema_version.to_s + '.sql')
end

#database_optionsObject



19
20
21
# File 'lib/seed/configuration.rb', line 19

def database_options
  @options ||= ActiveRecord::Base.connection.raw_connection.query_options
end

#make_tmp_dirObject



33
34
35
# File 'lib/seed/configuration.rb', line 33

def make_tmp_dir
  FileUtils.mkdir_p(base_path) unless File.exist?(base_path)
end

#schema_versionObject



15
16
17
# File 'lib/seed/configuration.rb', line 15

def schema_version
  @schema_version ||= Digest::SHA1.hexdigest(get_all_versions.sort.join)
end