class Dk::Dumpdb::Db

Constants

DEFAULT_VALUE

Public Class Methods

new(dump_file_name = nil, values = nil) click to toggle source
# File lib/dk-dumpdb/db.rb, line 8
def initialize(dump_file_name = nil, values = nil)
  dump_file_name = dump_file_name || 'dump.output'
  @values        = dk_dumpdb_symbolize_keys(values)

  [:host, :port, :user, :pw, :db, :output_root].each do |key|
    @values[key] ||= DEFAULT_VALUE
  end

  @values[:output_dir] = dk_dumpdb_build_output_dir(
    self.output_root,
    self.host,
    self.db
  )
  @values[:dump_file] = File.join(self.output_dir, dump_file_name)
end

Public Instance Methods

==(other_db) click to toggle source
Calls superclass method
# File lib/dk-dumpdb/db.rb, line 38
def ==(other_db)
  if other_db.kind_of?(Db)
    self.to_hash == other_db.to_hash
  else
    super
  end
end
method_missing(meth, *args, &block) click to toggle source
Calls superclass method
# File lib/dk-dumpdb/db.rb, line 26
def method_missing(meth, *args, &block)
  if @values.has_key?(meth.to_sym)
    @values[meth.to_sym]
  else
    super
  end
end
respond_to?(meth) click to toggle source
Calls superclass method
# File lib/dk-dumpdb/db.rb, line 34
def respond_to?(meth)
  @values.has_key?(meth.to_sym) || super
end
to_hash() click to toggle source
# File lib/dk-dumpdb/db.rb, line 24
def to_hash; @values; end

Private Instance Methods

dk_dumpdb_build_output_dir(output_root, host, database) click to toggle source
# File lib/dk-dumpdb/db.rb, line 48
def dk_dumpdb_build_output_dir(output_root, host, database)
  dir_name = dk_dumpdb_build_output_dir_name(host, database)
  if output_root && !output_root.to_s.empty?
    File.join(output_root, dir_name)
  else
    dir_name
  end
end
dk_dumpdb_build_output_dir_name(host, database) click to toggle source
# File lib/dk-dumpdb/db.rb, line 57
def dk_dumpdb_build_output_dir_name(host, database)
  [host, database, Time.now.to_f].map(&:to_s).reject(&:empty?).join("__")
end
dk_dumpdb_symbolize_keys(values) click to toggle source
# File lib/dk-dumpdb/db.rb, line 61
def dk_dumpdb_symbolize_keys(values)
  (values || {}).inject({}) do |h, (k, v)|
    h.merge(k.to_sym => v)
  end
end