lib/squealer/database.rb in squealer-2.2.1 vs lib/squealer/database.rb in squealer-2.2.2

- old
+ new

@@ -1,10 +1,10 @@ -require 'mongo' -require 'data_objects' - require 'singleton' +require 'mongo' +# data_objects required under export_to dependant on adapter requested in EXPORT_DBMS + module Squealer class Database include Singleton def import_from(host, port, name) @@ -13,15 +13,18 @@ end def export_to(adapter, host, username, password, name) require "do_#{adapter}" - @@all_export_connections ||= [] - @export_do.dispose if @export_do - - @export_do = DataObjects::Connection.new("#{adapter}://#{username}:#{password}@#{host}/#{name}") - @@all_export_connections << @export_do + @export_do.release if @export_do + creds = "" + creds << username if username + creds << ":#{password}" if password + at_host = "" + at_host << "#{creds}@" unless creds.empty? + at_host << host + @export_do = DataObjects::Connection.new("#{adapter}://#{at_host}/#{name}") end def import @import_connection end @@ -49,11 +52,11 @@ end def eval(string) @dbc.eval(string) end - end + end # Connection class Source attr_reader :counts, :cursor def initialize(dbc, collection) @@ -76,14 +79,9 @@ @progress_bar.tick if @progress_bar @counts[:exported] += 1 end @progress_bar.finish if @progress_bar end - end + end # Source - private - - def dispose_all_connections - @@all_export_connections.each {|c| c.dispose if c} if defined?(@@all_export_connections) - end end end