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