class Kellerkind::Mongo

Public: Dumps a MongoDb database.

For more see mongodump –help

Public Class Methods

new(options={}) click to toggle source
# File lib/kellerkind/modules/implementations/mongo.rb, line 21
def initialize(options={})
  init_instance(options) unless options.empty?
end

Public Instance Methods

dump_argument_list() click to toggle source

Public: Builds an argument list for mongodump by taking only values existing in attributes

Returns the argument list string.

# File lib/kellerkind/modules/implementations/mongo.rb, line 40
def dump_argument_list
  usable_line_args = attributes.select{|k,v| not v.nil? }
  return "" if usable_line_args.empty?
  return usable_line_args.collect do |key,value|
    "--#{key} #{value}"
  end.join(" ")
end
dump_database() click to toggle source

Public: Dumps the database by using a stream to the underlying operation system.

# File lib/kellerkind/modules/implementations/mongo.rb, line 29
def dump_database
  cmd = %Q{`which #{Kellerkind::Config.db_dump_cmd}` #{dump_argument_list}}
  out = IO.popen(cmd)
  out.readlines.join(" ")
end

Private Instance Methods

init_instance(options) click to toggle source
# File lib/kellerkind/modules/implementations/mongo.rb, line 50
def init_instance(options)
  options.each_pair do |key,value|
    instance_attr = key.to_s.split(Kellerkind::Config.db_prefix).last
    if instance_attr.to_sym.in?(attributes.keys)
      self.send("#{instance_attr}=", value)
    end
  end
end