Sha256: a2692d91afd61536a9fdeba171aa3fb9308cd1fb746de0780f3aa97e6fb0ea01

Contents?: true

Size: 733 Bytes

Versions: 5

Compression:

Stored size: 733 Bytes

Contents

require 'colorize'
require 'db-clone/cmd_builder'
require 'db-clone/db_selections'
require 'db-clone/engine'

module DbClone
  mattr_accessor :config

  def self.clone!( **opts )
    DbClone.config ||= {}
    DbClone.config[:ignore_tables] ||= []
    DbClone.config[:default_source] ||= 'production'
    DbClone.config[:default_destination] ||= 'development'

    ds = DbSelections.new Rails.root.join('config', 'database.yml')
    src_dest = if opts[:manual]
      [:source_prompt, :source_get, :dest_prompt, :dest_get].each{|m| ds.send(m)}
      ds.selections
    else
      ds.selections( use_defaults: true )
    end

    cb = CmdBuilder.new src_dest
    puts "\n  Executing: #{cb.get_cmd.light_blue}\n\n"
    cb.exec!
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
db-clone-1.0.5 lib/db-clone.rb
db-clone-1.0.4 lib/db-clone.rb
db-clone-1.0.3 lib/db-clone.rb
db-clone-1.0.2 lib/db-clone.rb
db-clone-1.0.1 lib/db-clone.rb