Class: Db::Clone::Base

Inherits:
Object
  • Object
show all
Includes:
CmdPrompt
Defined in:
lib/db/clone/base.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods included from CmdPrompt

#ask_yes_no, #prompt

Constructor Details

#initializeBase

Returns a new instance of Base.

Raises:

  • (ArgumentError)


10
11
12
13
14
15
16
# File 'lib/db/clone/base.rb', line 10

def initialize
  @db_yml = YAML.load_file Db::Clone.database_yml_path
  raise ArgumentError.new("#{Db::Clone.database_yml_path} does not have at least 2 database blocks.") unless @db_yml.length >= 2

  @default_src = Db::Clone.default_source_database
  @default_dest = Db::Clone.default_destination_database
end

Class Method Details

.clone!(invoke_cli) ⇒ Object



6
7
8
# File 'lib/db/clone/base.rb', line 6

def self.clone! invoke_cli
  self.new.clone! invoke_cli
end

Instance Method Details

#clone!(invoke_cli) ⇒ Object



18
19
20
21
22
23
24
25
# File 'lib/db/clone/base.rb', line 18

def clone! invoke_cli
  src_db, dest_db = invoke_cli ? prompt_for_src_and_dest : default_src_and_dest

  cmd_builder = CmdBuilder.new src: @db_yml[src_db], dest: @db_yml[dest_db]

  puts "\n  Executing: #{cmd_builder.cmd.light_blue}\n\n"
  exec cmd_builder.cmd
end