Sha256: e4dfd5aab7f8df7adf92dd1f6a723d7013525d6f26590cc4d75c2c1d7a26b5c3

Contents?: true

Size: 804 Bytes

Versions: 2

Compression:

Stored size: 804 Bytes

Contents

# encoding: utf-8

require_relative 'ui/auto_run'
require_relative 'ui/command_line'

module RedisCopy
  module UI
    def self.load(options = {})
      ui = options.fetch(:ui, :auto_run)
      const_name = ui.to_s.camelize
      require "redis-copy/ui/#{ui}" unless const_defined?(const_name)
      const_get(const_name).new(options)
    end

    def initialize(options)
      @options = options
    end

    def confirm?(prompt)
      return super if defined?(super)
      raise NotImplementedError
    end

    def abort(message = nil)
      return super if defined?(super)
      raise NotImplementedError
    end

    def notify(message)
      return super if defined?(super)
      raise NotImplementedError
    end

    def debug(message)
      notify(message) if @options[:debug]
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
redis-copy-0.0.6 lib/redis-copy/ui.rb
redis-copy-0.0.5 lib/redis-copy/ui.rb