Sha256: ae8836a8b8dbbe5ea39140667d54bb0450069f65acd714e8b546a75ba5180dc0

Contents?: true

Size: 846 Bytes

Versions: 1

Compression:

Stored size: 846 Bytes

Contents

require 'fileutils'

module SwitchDb
  module Command
    class Store < Base
      def run(name:, database_names: [], force: false)
        reference = SwitchDb::Reference.new(name: name, database_names: database_names)
        duplicated = @reference_set.references.key?(reference.name)

        FileUtils.mkdir_p(reference.full_path)

        reference.database_paths.each do |database_name, database_path|
          next if !force && duplicated && !overwrite?(reference)

          SwitchDb::Database.current_database.dump_database(database_name, database_path)
          puts "Stored database a '#{database_name}'"
        end

        @reference_set.add_reference(reference)
      end

      private

      def overwrite?(reference)
        Dialog.question?("Overwrite existing stored file? (#{reference.name})")
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
switch_db-0.1.1 lib/switch_db/command/store.rb